celluloid/celluloid — pull request #129 by strmpnk (2012-12-05 23:09:32+00:00)
Title: Avoid manual emulation of public dispatch by using public_send

This simply replaces the check_signature+dispatch code with simpler code which relies directly on Ruby's public_send. It's faster in all the cases I've checked on MRI and JRuby (on par with or sometimes better than an unchecked send). My Rubinius build is stale but I'll check back with any problems once it's done building.

It's hard to benchmark with the ips suite since the async calls need a sink to check the real overhead. Specs should be green and manual testing shows no performance regressions. I don't recommend using the benchmark/actor.rb to check performance as the async calls will mess other iterations and doesn't really count the actual dispatch, just the enqueuing of the message.