[Rake-devel] Rake DSL Commands are no long in top level

Jim Weirich jim.weirich at gmail.com
Fri Jun 5 10:38:58 EDT 2009

On Jun 4, 2009, at 7:51 PM, Dave Thomas wrote:

> But perhaps some real numbers, rather than some genuine concerns,  
> would give
> us the data to go on.

So, here are some numbers.  This is based on 30,000 tasks split into  
300 files.  The tasks do nothing but declare a single dependency.   
This is against the latest code base that does not do task metadata  
recording (i.e. comments and line numbers) unless a -T, -D or -W  
option is given.


[env*]$ time ruby -I../lib ../bin/rake -Rdesc
(in /Users/jim/working/git/rake/x)

real	0m1.779s
user	0m1.553s
sys	0m0.135s


[env*]$ time ruby -I../lib ../bin/rake -Rcomment
(in /Users/jim/working/git/rake/x)

real	0m1.623s
user	0m1.467s
sys	0m0.135s


[env*]$ time ruby -I../lib ../bin/rake -Rnone
(in /Users/jim/working/git/rake/x)

real	0m1.505s
user	0m1.365s
sys	0m0.120s

Turns out the comment version is actually faster (because I'm not  
processing the desc command).  I imagine the speed of the desc version  
could be improved if I made it obey the no task metadata flag.

Running with the -T (and piping all output to /dev/null) shows that  
the comment version runs about 1/2 second slower than the desc version  
(3.8 vs 3.3 seconds).  Given that these cases will be primarily  
dominated by the speed of the output, I'm not too worried about a slow  
down here.

I don't see any performance reasons to take out Dave's patch.

-- Jim Weirich
-- jim.weirich at gmail.com

More information about the Rake-devel mailing list