Awesome work! For comparison's sake have you timed ruby doing the same installs?
I also looked at rdoc a little bit and noticed ruby-based parsing. I am hoping if we profile it we can still find some super slow thing in JRuby which speeds this up... -Tom On Thu, 15 Jun 2006, Ola Bini defenestrated me: > > I shall not keep you waiting. Here is success number one: > > orpheus:/cygdrive/d/Project/jruby> time bin/jruby.bat bin/gem install > --no-rdoc rake > > Attempting local installation of 'rake' > Successfully installed rake, version 0.7.1 > 0.000u 0.000s 0:10.89 0.0% 0+0k 0+0io 742pf+0w > orpheus:/cygdrive/d/Project/jruby> > > Success number two (mostly success, anyway) > > orpheus:/cygdrive/d/Project/jruby> time bin/jruby.bat bin/gem install > --no-rdoc rake > Attempting local installation of 'rake' > Local gem file not found: rake*.gem > Attempting remote installation of 'rake' > Updating Gem source index for: http://gems.rubyforge.org > java.lang.RuntimeException: java.lang.InterruptedException > at org.jruby.RubyThread.criticalizeOrDieIfKilled(RubyThread.java:300) > at org.jruby.RubyThread.pollThreadEvents(RubyThread.java:282) > at > org.jruby.runtime.ThreadContext.pollThreadEvents(ThreadContext.java:471) > at > org.jruby.evaluator.EvaluationState.executeNext(EvaluationState.java:257) > at org.jruby.evaluator.EvaluationState.begin(EvaluationState.java:297) > at > org.jruby.internal.runtime.methods.EvaluateCallable.internalCall(EvaluateCallable.java:67) > at > org.jruby.internal.runtime.methods.AbstractCallable.call(AbstractCallable.java:64) > at org.jruby.runtime.ThreadContext.yield(ThreadContext.java:347) > at org.jruby.runtime.Block.call(Block.java:114) > at org.jruby.RubyProc.call(RubyProc.java:118) > at org.jruby.RubyProc.call(RubyProc.java:104) > at > org.jruby.internal.runtime.RubyNativeThread.run(RubyNativeThread.java:75) > Caused by: java.lang.InterruptedException > at java.lang.Object.wait(Native Method) > at java.lang.Object.wait(Object.java:429) > at org.jruby.RubyThread.waitIfCriticalized(RubyThread.java:264) > at org.jruby.RubyThread.criticalizeOrDieIfKilled(RubyThread.java:297) > ... 11 more > Successfully installed rake-0.7.1 > 0.000u 0.000s 1:13.90 0.0% 0+0k 0+0io 744pf+0w > orpheus:/cygdrive/d/Project/jruby> > > Success number three: > > orpheus:/cygdrive/d/Project/jruby> time bin/jruby.bat bin/gem install > --no-rdoc rails --include-dependencies > Attempting local installation of 'rails' > Local gem file not found: rails*.gem > Attempting remote installation of 'rails' > Updating Gem source index for: http://gems.rubyforge.org > Successfully installed rails-1.1.2 > Successfully installed rake-0.7.1 > Successfully installed activesupport-1.3.1 > Successfully installed activerecord-1.14.2 > Successfully installed actionpack-1.12.1 > Successfully installed actionmailer-1.2.1 > Successfully installed actionwebservice-1.1.2 > 0.000u 0.010s 4:55.06 0.0% 0+0k 0+0io 740pf+0w > orpheus:/cygdrive/d/Project/jruby> > > > Now, my Cygwin is REALLY slow (and it's running on a cmd-prompt inside my > Emacs...), the local installation of Rake is really snazzy when doing it in > a regular command prompt. The remote one spends 13sec loading yaml and > about 22sec downloading the rake gem, and between 10 and 20 secs starting up. > Also, remember that we still have that thread stupidity in downloading that > Charles have talked about. > > I haven't found what's causing RDoc to be so intolerably slow, but I guess > that there is one spot where we can fix that too. I hope so. =) > > > > I guess you wonder how I've achieved this. There were two big bottlenecks > for this this. The first was in Zlib::GzipReader and the second in > IOInputStream (which is a InputStream-wrapper for Ruby IO-like objects). > Both of these were really slow. There was a reason for this; they were VERY > hard to get right. Using RubyStrings as repositories for bytes is a tricky > business. > So, I've improved IOInputStream (and I have a few ideas for improving it > further), and rewritten GzipReader in Java, and with a good implementation > at that. I will do the same with GzipWriter, clean up the code a little bit > and then post it here. Probably in max one day. > > Regards > Ola Bini > > > > > _______________________________________________ > Jruby-devel mailing list > Jruby-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/jruby-devel -- + http://www.tc.umn.edu/~enebo +---- mailto:[EMAIL PROTECTED] ----+ | Thomas E Enebo, Protagonist | "Luck favors the prepared | | | mind." -Louis Pasteur | _______________________________________________ Jruby-devel mailing list Jruby-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jruby-devel