Issue #12274 has been updated by Masaya Tarui. > About the object check, is it not problematic to do ((struct RBasic*)obj)->klass if obj is a tagged integer (since klass is the second member, after flags)? Thank you for pointing out. I'll revive check. ---------------------------------------- Bug #12274: accessing to instance variable should be fast. https://bugs.ruby-lang.org/issues/12274#change-58061 * Author: Masaya Tarui * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.4.0dev (2016-04-12 trunk 54553) [x86_64-linux] * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- Currently, accessing to instance variable is quite slower than accessing to local variable. I think accessing to instance variable is basic operation and it should be fast, so tried to improve. patch: https://github.com/tarui/ruby/commit/dd993da80c7ad84340689137bf8b308793595cae On mame's optcarrot benchmark, (https://github.com/mame/optcarrot/) it is 10%(!) faster than trunk. It increases in the maintenance cost a little, but can I commit it? ``` $ ./ruby -v --disable-gems ../../optcarrot/bin/optcarrot --benchmark ../../optcarrot/examples/Lan_Master.nes ruby 2.4.0dev (2016-04-12 trunk 54553) [x86_64-linux] fps: 13.664029283085743 checksum: 59662 $ ./ruby -v --disable-gems ../../optcarrot/bin/optcarrot --benchmark ../../optcarrot/examples/Lan_Master.nes ruby 2.4.0dev (2016-04-12 fast-ivar-access 54553) [x86_64-linux] fps: 15.120651593726231 checksum: 59662 -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>