Hi,

No, I don't have any real comparions, but from Charles blog installing 
rails with dependencies (when Rake already was installed), but also 
generating RDoc, took about 1hr, so if we just guess that RDoc takes 50% of 
the time, the increase is in the order of 6 times, but the real improvement 
in GzipReader is more in the order of 10-20 times.

Yes, I hope so.

/O

At 14:58 2006-06-15, you wrote:
>   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





_______________________________________________
Jruby-devel mailing list
Jruby-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jruby-devel

Reply via email to