normal
f6cd582505
variable.c: avoid compatibility table with generic ivars
...
This recovers and improves performance of Marshal.dump/load on
Time objects compared to when we implemented generic ivars
entirely using st_table.
This also recovers some performance on other generic ivar objects,
but does not bring bring Marshal.dump/load performance up to
previous speeds.
benchmark results:
minimum results in each 10 measurements.
Execution time (sec)
name trunk geniv after
marshal_dump_flo 0.343 0.334 0.335
marshal_dump_load_geniv 0.487 0.527 0.495
marshal_dump_load_time 1.262 1.401 1.257
Speedup ratio: compare with the result of `trunk' (greater is better)
name geniv after
marshal_dump_flo 1.026 1.023
marshal_dump_load_geniv 0.925 0.985
marshal_dump_load_time 0.901 1.004
* include/ruby/intern.h (rb_generic_ivar_table): deprecate
* internal.h (rb_attr_delete): declare
* marshal.c (has_ivars): use rb_ivar_foreach
(w_ivar): ditto
(w_object): update for new interface
* time.c (time_mload): use rb_attr_delete
* variable.c (generic_ivar_delete): implement
(rb_ivar_delete): ditto
(rb_attr_delete): ditto
[ruby-core:69323] [Feature #11170 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-30 00:20:15 +00:00
..
2013-12-19 01:49:59 +00:00
2012-10-15 12:53:12 +00:00
2013-09-22 10:01:22 +00:00
2014-09-16 10:18:53 +00:00
2011-07-01 10:39:12 +00:00
2011-07-01 10:39:12 +00:00
2007-02-12 23:01:19 +00:00
2014-09-08 07:08:56 +00:00
2012-10-15 12:53:12 +00:00
2007-02-12 23:01:19 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2007-02-12 23:01:19 +00:00
2007-02-12 23:01:19 +00:00
2007-11-16 01:30:29 +00:00
2015-01-03 02:27:50 +00:00
2015-03-25 02:20:43 +00:00
2014-03-22 23:34:21 +00:00
2014-03-22 23:34:21 +00:00
2014-10-09 03:44:12 +00:00
2014-10-09 03:44:12 +00:00
2013-11-28 10:50:41 +00:00
2015-01-22 07:48:59 +00:00
2014-03-22 23:34:21 +00:00
2014-03-22 23:34:21 +00:00
2014-03-22 23:34:21 +00:00
2014-03-22 23:34:21 +00:00
2013-11-28 10:50:41 +00:00
2013-04-25 05:03:30 +00:00
2013-11-28 10:50:41 +00:00
2011-07-01 10:39:12 +00:00
2011-07-01 10:39:12 +00:00
2011-07-01 10:39:12 +00:00
2011-11-17 11:24:07 +00:00
2011-11-17 11:24:07 +00:00
2011-04-30 07:16:31 +00:00
2008-10-10 23:30:39 +00:00
2007-08-27 16:48:14 +00:00
2008-10-10 19:19:36 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2015-01-23 08:13:59 +00:00
2015-05-30 00:20:15 +00:00
2015-05-30 00:20:15 +00:00
2014-08-08 11:00:47 +00:00
2007-02-12 23:01:19 +00:00
2007-02-12 23:01:19 +00:00
2013-06-20 07:30:41 +00:00
2012-10-15 12:53:12 +00:00
2007-09-27 06:46:31 +00:00
2012-10-15 12:53:12 +00:00
2011-07-01 10:39:12 +00:00
2007-11-16 01:30:29 +00:00
2007-11-16 01:30:29 +00:00
2012-10-15 12:53:12 +00:00
2007-11-16 01:30:29 +00:00
2011-07-01 10:39:12 +00:00
2015-04-20 03:45:35 +00:00
2007-11-16 01:30:29 +00:00
2007-02-12 23:01:19 +00:00
2012-11-21 07:15:03 +00:00
2007-11-16 01:30:29 +00:00
2007-02-12 23:01:19 +00:00
2007-11-16 01:30:29 +00:00
2007-11-16 01:30:29 +00:00
2012-10-15 12:53:12 +00:00
2007-11-16 01:30:29 +00:00
2012-10-15 12:53:12 +00:00
2007-11-16 01:30:29 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2013-11-06 00:21:05 +00:00
2013-11-06 00:21:05 +00:00
2013-11-06 00:21:05 +00:00
2013-11-06 00:21:05 +00:00
2015-03-18 05:15:08 +00:00
2015-03-18 05:15:08 +00:00
2015-03-18 05:15:08 +00:00
2015-03-18 05:15:08 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-16 20:37:25 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-16 23:47:51 +00:00
2012-10-15 12:53:12 +00:00
2012-10-17 07:26:58 +00:00
2012-10-16 20:37:25 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2014-09-12 20:57:45 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2014-12-09 15:43:49 +00:00
2014-12-09 15:43:49 +00:00
2014-12-09 15:43:49 +00:00
2014-12-09 15:43:49 +00:00
2014-12-09 15:43:49 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-05-26 03:25:15 +00:00
2012-10-15 12:53:12 +00:00
2008-04-27 03:20:35 +00:00
2011-07-01 10:39:12 +00:00
2014-05-10 23:48:51 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-10-15 12:53:12 +00:00
2012-05-27 14:41:01 +00:00
2011-06-14 19:30:12 +00:00
2011-06-14 19:30:12 +00:00
2013-11-06 00:21:05 +00:00
2015-03-06 01:33:43 +00:00
2007-11-16 01:30:29 +00:00
2007-11-16 01:30:29 +00:00
2014-07-11 02:13:09 +00:00
2014-07-11 02:13:09 +00:00
2011-05-15 11:55:52 +00:00
2011-05-15 11:55:52 +00:00
2009-12-31 15:00:04 +00:00
2007-02-12 23:01:19 +00:00