3.3rc2 is ready!

So I’ve merged in the new high-accuracy performance code into the mainline trunk. Depending on your operating system you may or may not notice any improvement, but here’s the rundown of the changes:

  • Add support for OS X’s AbsoluteTime() functions which are *really* accurate!
  • Add support for the Intel RDTSC which is pretty good
  • Add support for IO Port 80, another method which is decent, but not great
  • Add support for select() which is pretty much worthless so far
  • Internally track packet timing with nanosecond accuracy (necessary for sub 1usec accuracy)
  • Add support for rounding sleep times for non-absolute timing methods (Mbps, etc)
  • Track time since last packet was sent rather then just calculating intervals
  • Give users the ability to accelerate time by using a sleep modifier

Note: Linux users wanting the most accurate timing should use a recent 2.6 kernel with the HPET timer code enabled for gettimeofday() and specify –timer=gtod. OS X users should definitely use –timer=abstime for the AbsoluteTime() methods. Other operating systems should try different settings and let me know what works!

Get it here!

Leave a Reply