title: Using Assembly Language in C/C++
body: <p>I remember reading somewhere that to really optimize &amp; speed up certain section of the code, programmers write that section in Assembly language. My questions are - </p>
  
  <ol>
  <li>Is this practice still done? and How does one do this?</li>
  <li>Isn't writing in Assembly Language a bit too cumbersome &amp; archaic?</li>
  <li>When we compile C code (with or without -O3 flag), the compiler does some code optimization &amp; links all libraries &amp; converts the code to binary object file. So when we run the program it is already in its most basic form i.e. binary. So how does inducing 'Assembly Language' help?</li>
  </ol>
  
  <p>I am trying to understand this concept &amp; any help or links is much appreciated.</p>
  
  <p><strong>UPDATE:</strong> Rephrasing point 3 as requested by dbemerlin- Because you might be able to write more effective assembly code than the compiler generates but unless you are an assembler expert your code will propably run slower because often the compiler optimizes the code better than most humans can.</p>