Project

General

Profile

Bug #8930

some benchmark programs are slow since r42822

Added by Narihiro Nakamura over 2 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
ruby -v:
ruby 2.1.0dev (2013-09-04 trunk r42822) [x86_64-linux]
[ruby-core:57289]

Description

Hi.

I find some benchmark programs are slow since r42822.

% time ./miniruby -v benchmark/bm_vm3_clearmethodcache.rb
ruby 2.1.0dev (2013-09-04 trunk 42910) [x86_64-linux]
./miniruby -v benchmark/bm_vm3_clearmethodcache.rb 0.42s user 0.00s system 98% cpu 0.451 total

% time ./miniruby -v benchmark/bm_vm3_clearmethodcache.rb
ruby 2.1.0dev (2013-09-04 trunk r42822) [x86_64-linux]
./miniruby -v benchmark/bm_vm3_clearmethodcache.rb 0.48s user 0.01s system 98% cpu 0.495 total

In addition to the above:
* vm2_poly_method
* vm2_send
* so_object
* etc... (If you want to know all slow benchmark programs, please check this site http://www.narihiro.info/crubybenci/)

If this isn't intended, could you check it, charliesome or ko1?

Thanks

Associated revisions

Revision 43027
Added by Charlie Somerville over 2 years ago

  • class.c (class_alloc): remove mc_tbl

  • gc.c (obj_free): ditto

  • internal.h (struct rb_classext_struct): ditto

  • method.h (rb_method_entry): remove ent param

  • vm_method.c: restore the global method cache. Per class cache tables
    turned out to be far too slow.

[Bug #8930]

Revision 43027
Added by Charlie Somerville over 2 years ago

  • class.c (class_alloc): remove mc_tbl

  • gc.c (obj_free): ditto

  • internal.h (struct rb_classext_struct): ditto

  • method.h (rb_method_entry): remove ent param

  • vm_method.c: restore the global method cache. Per class cache tables
    turned out to be far too slow.

[Bug #8930]

Revision 43027
Added by Charlie Somerville over 2 years ago

  • class.c (class_alloc): remove mc_tbl

  • gc.c (obj_free): ditto

  • internal.h (struct rb_classext_struct): ditto

  • method.h (rb_method_entry): remove ent param

  • vm_method.c: restore the global method cache. Per class cache tables
    turned out to be far too slow.

[Bug #8930]

History

#1 Updated by Charlie Somerville over 2 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r43027.
Narihiro, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


  • class.c (class_alloc): remove mc_tbl

  • gc.c (obj_free): ditto

  • internal.h (struct rb_classext_struct): ditto

  • method.h (rb_method_entry): remove ent param

  • vm_method.c: restore the global method cache. Per class cache tables
    turned out to be far too slow.

[Bug #8930]

Also available in: Atom PDF