The thread continues...

Making the EvaluationState instruction stack a normal, synchronized Stack instance instead of an UnsynchronizedStack instance demonstrated how crucial that stack is to performance. Moving to Stack--whose only difference is thread-safe synchronization--caused performance to degrade by almost 25% in a pure-ruby benchmark (for the record, I'm using the binary tree benchmark from the Language Shootout).

Reducing the overhead of maintaining instruction context (PC) and the "next" instruction (JMP) ought to go a long way here.

--
Charles Oliver Nutter @ headius.blogspot.com
JRuby Developer @ jruby.sourceforge.net
Application Architect @ www.ventera.com

Reply via email to