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

Reply via email to