#424: performance regression from ruby 1.8 and 1.9 -------------------------------------+-------------------------------------- Reporter: jordan.breeding@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: Component: MacRuby | Keywords: -------------------------------------+-------------------------------------- I have some code that previously ran incorrectly on MacRuby 0.4, and until recently crashed MacRuby trunk. Now that it works I would like to report that the performance of it is not as fast as 1.8 or 1.9. I know that MacRuby working is a primary consideration and speed only comes after that, but as people start looking at speed more and more I wanted to get this on the radar. This also supersedes #348 which was a smaller also based on this code, but was a reduced file since the main code would not run. Performance of Ruby 1.8, Ruby 1.9, and MacRuby compared using a faster and a slower version of the same basic algorithm: {{{ 35 jordan@thetourist ~/priority_queue_bug > for LOOP in ruby ruby1.9 macruby; do for LOOP2 in ./search.pqueue ./search_slow.pqueue; do eval time "${LOOP}" "${LOOP2}" -m -c a-star input_files/input13_7.txt
/dev/null; done; done ruby ./search.pqueue -m -c a-star input_files/input13_7.txt 4.51s user 0.10s system 98% cpu 4.657 total ruby ./search_slow.pqueue -m -c a-star input_files/input13_7.txt 9.84s user 0.15s system 98% cpu 10.087 total ruby1.9 ./search.pqueue -m -c a-star input_files/input13_7.txt 2.74s user 0.08s system 98% cpu 2.851 total ruby1.9 ./search_slow.pqueue -m -c a-star input_files/input13_7.txt 5.80s user 0.11s system 99% cpu 5.960 total macruby ./search.pqueue -m -c a-star input_files/input13_7.txt 14.30s user 0.69s system 171% cpu 8.722 total macruby ./search_slow.pqueue -m -c a-star input_files/input13_7.txt 27.30s user 0.88s system 150% cpu 18.745 total }}}
performance of various versions of the script specific to MacRuby: {{{ 36 jordan@thetourist ~/priority_queue_bug > for LOOP in *.cocoa; do eval time macruby "${LOOP}" -c -m a-star input_files/input13_7.txt >/dev/null; done macruby search.cocoa -c -m a-star input_files/input13_7.txt 14.38s user 0.79s system 161% cpu 9.392 total macruby search_group_add.cocoa -c -m a-star input_files/input13_7.txt 13.61s user 0.71s system 171% cpu 8.345 total macruby search_group_add_slow.cocoa -c -m a-star input_files/input13_7.txt 26.97s user 0.92s system 146% cpu 19.027 total macruby search_slow.cocoa -c -m a-star input_files/input13_7.txt 27.34s user 0.94s system 150% cpu 18.730 total }}} MacRuby information: {{{ 37 jordan@thetourist ~/priority_queue_bug > macruby -e 'p MACRUBY_VERSION' "0.5" 38 jordan@thetourist ~/priority_queue_bug > macruby -e 'p MACRUBY_REVISION' "git commit 19b2d7811662bf636cbcc2fe1ae99afef3243225" }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/424> MacRuby <http://macruby.org/>