aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-06-26 22:32:06 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-06-26 22:32:06 +0000
commite598b4289091657ed47f61527c3fe05ffdb60dab (patch)
treee453c7bc803be766bbdf361fe628aae8617e1379 /ChangeLog
parentf94829acf51b5953856a4d632f6e205db2f53854 (diff)
downloadruby-e598b4289091657ed47f61527c3fe05ffdb60dab.tar.gz
st.c: use ccan linked-list (try 2)
This improves the bm_vm2_bighash benchmark significantly by removing branches during insert, but slows down anything requiring iteration with the more complex loop termination checking. Speedup ratio of 1.10 - 1.20 is typical for the vm2_bighash benchmark. * include/ruby/st.h (struct st_table): hide struct list_head * st.c (struct st_table_entry): adjust struct (head, tail): remove shortcut macros (st_head): new wrapper function (st_init_table_with_size): adjust to new struct and API (st_clear): ditto (add_direct): ditto (unpack_entries): ditto (rehash): ditto (st_copy): ditto (remove_entry): ditto (st_shift): ditto (st_foreach_check): ditto (st_foreach): ditto (get_keys): ditto (get_values): ditto (st_values_check): ditto (st_reverse_foreach_check): ditto (unused) (st_reverse_foreach): ditto (unused) [ruby-core:69726] [Misc #10278] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog23
1 files changed, 23 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index e716c1c4b4..37322aeba5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+Sat Jun 27 06:58:01 2015 Eric Wong <e@80x24.org>
+
+ * include/ruby/st.h (struct st_table): hide struct list_head
+ * st.c (struct st_table_entry): adjust struct
+ (head, tail): remove shortcut macros
+ (st_head): new wrapper function
+ (st_init_table_with_size): adjust to new struct and API
+ (st_clear): ditto
+ (add_direct): ditto
+ (unpack_entries): ditto
+ (rehash): ditto
+ (st_copy): ditto
+ (remove_entry): ditto
+ (st_shift): ditto
+ (st_foreach_check): ditto
+ (st_foreach): ditto
+ (get_keys): ditto
+ (get_values): ditto
+ (st_values_check): ditto
+ (st_reverse_foreach_check): ditto (unused)
+ (st_reverse_foreach): ditto (unused)
+ [ruby-core:69726] [Misc #10278]
+
Fri Jun 26 12:48:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
* transcode.c (load_transcoder_entry): fix transcoder loading race