Forum: Ruby hitimes 0.3.0 Released

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Jeremy H. (Guest)
on 2008-10-12 09:35
(Received via mailing list)
hitimes version 0.3.0 has been released.  Now with windows support.

  gem install 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
Roger P. (Guest)
on 2008-10-12 21:35
> 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/
Jeremy H. (Guest)
on 2008-10-13 08:02
(Received via mailing list)
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] - http://msdn.microsoft.com/en-us/library/ms644904.aspx
[2] -
http://developer.apple.com/documentation/Hardware/...
[3] -
http://www.openbsd.org/cgi-bin/man.cgi?query=clock...
[4] - http://github.com/copiousfreetime/hitimes/tree/master
This topic is locked and can not be replied to.