# Hitimes 0.3.0 Released

**URL:** <https://www.ruby-forum.com/t/hitimes-0-3-0-released/150728>\
**Category:** Ruby\
**Created:** [October 12, 2008, 7:35am UTC](https://www.ruby-forum.com/t/hitimes-0-3-0-released/150728 "2008-10-12T07:35:47Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jeremyheiler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/34f0e0/32.png) [@jeremyheiler](https://www.ruby-forum.com/u/jeremyheiler)\
**Post date:** [October 12, 2008, 7:35am UTC](https://www.ruby-forum.com/t/hitimes-0-3-0-released/150728/1 "2008-10-12T07:35:47Z")

</div>

hitimes version 0.3.0 has been released. Now with windows support.

gem install hitimes

[http://copiousfreetime.rubyforge.org/hitimes/](http://copiousfreetime.rubyforge.org/hitimes/)

Hitimes is a fast, high resolution timer library for recording  
performance  
metrics. It uses the appropriate C method calls for each system to get  
the  
highest granularity time increments possible.

It currently supports any system with the POSIX call clock\_gettime(),  
Mac OS X and Windows.

Using Hitimes can be faster than using a series of Time.new calls, and  
it will have a much higher granularity. It is definitely faster than  
using Process.times.

{{ Release notes for Version 0.3.0 }}

- switched to extconf for building extensions
- first release of windows binary gem
- reverted back to normal rdoc

---

<div class="post-metadata">

**Author:** ![jeremyheiler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/34f0e0/32.png) [@jeremyheiler](https://www.ruby-forum.com/u/jeremyheiler)\
**Post date:** [October 12, 2008, 7:35pm UTC](https://www.ruby-forum.com/t/hitimes-0-3-0-released/150728/2 "2008-10-12T19:35:05Z")

</div>

> hitimes version 0.3.0 has been released. Now with windows support.

Looks nice. I love how accurate it is over traditional Benchmark.

Wish list: 1.9 use, and also the ability to use the CPU clock counter  
[maybe guess or estimate the accuracy?]. That might be faster, for  
those of us that want speed over accuracy 🙂 [1] seems to use it, as an  
example. Anything to improve speed [like a C based measure, etc.]

Thanks much.  
-=R

[http://ruby-prof.rubyforge.org/](http://ruby-prof.rubyforge.org/)

---

<div class="post-metadata">

**Author:** ![jeremyheiler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/34f0e0/32.png) [@jeremyheiler](https://www.ruby-forum.com/u/jeremyheiler)\
**Post date:** [October 13, 2008, 6:02am UTC](https://www.ruby-forum.com/t/hitimes-0-3-0-released/150728/3 "2008-10-13T06:02:54Z")

</div>

On Mon, Oct 13, 2008 at 02:32:25AM +0900, Roger P. wrote:

> > hitimes version 0.3.0 has been released. Now with windows support.
> 
> Looks nice. I love how accurate it is over traditional Benchmark.

Thanks!

> Wish list: 1.9 use,

I’ll get around to 1.9 at some point.

> and also the ability to use the CPU clock counter  
> [maybe guess or estimate the accuracy?]. That might be faster, for  
> those of us that want speed over accuracy 🙂 [1] seems to use it, as an  
> example.

It looks like ruby-prof some assembler to get its timing calls.  
Unfortunately I  
don’t know assembler, otherwise I may have gone that route.

I went with the lowest level timing API call I could find on each  
system. this  
means that on Windows it uses the QueryPerformanceCounter()[1] and  
QueryPerformanceFrequency() combination, on OS X is uses UpTime()[2],  
and  
everything else goes to clock\_gettime()[3].

> Anything to improve speed [like a C based measure, etc.]

Patches are always welcome :-). Feel free to contribute[4].

The Interval class is pure C. I may re-implement Timer in C, but not  
quite yet.  
In hitimes, the fastest way to measure the execution time of a piece of  
code is:

duration = Interval.measure { # your code here }

If ther are faster ways to measure the execution of code, I would happy  
to  
incorporate them.

enjoy,

-jeremy

[1] - [QueryPerformanceCounter function - Win32 apps | Microsoft Learn](http://msdn.microsoft.com/en-us/library/ms644904.aspx)  
[2] -  
[http://developer.apple.com/documentation/Hardware/DeviceManagers/pci\_srvcs/pci\_cards\_drivers/PCI\_BOOK.199.html#pgfId=4848](http://developer.apple.com/documentation/Hardware/DeviceManagers/pci_srvcs/pci_cards_drivers/PCI_BOOK.199.html#pgfId=4848)  
[3] -  
[http://www.openbsd.org/cgi-bin/man.cgi?query=clock\_gettime&sektion=2](http://www.openbsd.org/cgi-bin/man.cgi?query=clock_gettime&sektion=2)  
[4] - [GitHub - copiousfreetime/hitimes: a fast, high resolution timer library for recording performance metrics](http://github.com/copiousfreetime/hitimes/tree/master)
