title: is linking performance affected on whether a symbol is marked as local or global in the .obj file?
body: <p>I am trying to find ways to reduce linking time for my program.</p>
  <p>I have noticed that there are a lot of functions in my codebase, which have not been specified as <code>static</code>, hence they are treated as <code>extern</code>.</p>
  <p>If I specify them as <code>static</code>, they will get internal linkage.
  I can verify this by running the name-mangling command on the object file (<strong>nm</strong> in linux):</p>
  <p>Functions specified as <code>static</code> have a local symbol (e.g. 't') instead of a global symbol ('T').</p>
  <p><strong>Q:</strong> will the Linking time be notably reduced if enough symbols (functions) are converted from global (extern) to local (static)?</p>
  <p><strong>Q:</strong> Should I expect similar results if the objects have been created using a 'Release' compilation instead of 'Debug' compilation?</p>
  <p><strong>Q:</strong> Does the linkage specifier (<code>extern</code>/<code>static</code>) have any effect in the size of the object files?</p>
  <p><em>Note:</em> this question is about linking speed and object file size.
  It is not about the implications of having functions implicitly declared as extern.</p>