title: trying to find out which is unpack and format is faster results in sporadic behavior, why?
body: <p>I'm trying to accurately determine which method of unpacking binary data into a view-able format is faster. I'm attempting to use the time module to do so. I'm working with the bitstring module as I found this the easiest way when unpacking i'm working with bit aligned data. This is a small test case to see which way is faster as i'm processing millions of lines. It needs to be displayed in a specific way which is why the formatting is there.</p>
  
  <pre><code>from bitstring import BitArray
  import time
  
  s = BitArray('0x0081')
  start = time.time()
  for i in range(100000):
      test = s.unpack('uintle:16')
      temp = hex(test[0]).lstrip('0x').zfill(4)
  end = time.time()
  ttime = end-start
  print("uintle " + str(ttime))
  
  start = time.time()
  for i in range(100000):
      hex_val = s.unpack('hex:16')
      temp = hex_val[0][2:]+hex_val[0][0:2]
  end = time.time()
  ttime = end-start
  print("hex " + str(ttime))
  </code></pre>
  
  <p>when testing the condition on 1 million loops this is the output:</p>
  
  <pre><code>uintle 32.51800322532654
  uintle 46.38693380355835
  hex 131.79687571525574
  </code></pre>
  
  <p>It doesn't seem valid as it prints one output twice and I can't figure out why that happens. 
  When testing with 100,000 loops this is the output:</p>
  
  <pre><code>uintle 2.705230951309204
  hex 6.699380159378052
  </code></pre>
  
  <p>only two outputs just as expected. Any ideas on why it is behaving as such?</p>