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.

# USING DESC

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

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

# USING RUBY COMMENTS

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

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

# WITH NO COMMENTS

[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
-- [email protected]

_______________________________________________
Rake-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rake-devel

Reply via email to