title: Fast way of counting non-zero bits in positive integer
body: <p>I need a fast way to count the number of bits in an integer in python.
  My current solution is</p>
  
  <pre><code>bin(n).count("1")
  </code></pre>
  
  <p>but I am wondering if there is any faster way of doing this?</p>
  
  <p>PS: (i am representing a big 2D binary array as a single list of numbers and doing bitwise operations, and that brings the time down from hours to minutes. and now I would like to get rid of those extra minutes.</p>
  
  <p>Edit: 
  1. it has to be in python 2.7 or 2.6</p>
  
  <p>and optimizing for small numbers does not matter that much since that would not be a clear bottleneck, but I do have numbers with 10 000 + bits at some places</p>
  
  <p>for example this is a 2000 bit case:</p>
  
  <pre><code>12448057941136394342297748548545082997815840357634948550739612798732309975923280685245876950055614362283769710705811182976142803324242407017104841062064840113262840137625582646683068904149296501029754654149991842951570880471230098259905004533869130509989042199261339990315125973721454059973605358766253998615919997174542922163484086066438120268185904663422979603026066685824578356173882166747093246377302371176167843247359636030248569148734824287739046916641832890744168385253915508446422276378715722482359321205673933317512861336054835392844676749610712462818600179225635467147870208L
  </code></pre>