[#69616] [Ruby trunk - Feature #11258] add 'x' mode character for O_EXCL — cremno@...
Issue #11258 has been updated by cremno phobia.
3 messages
2015/06/16
[#69643] [Ruby trunk - Misc #11276] [RFC] compile.c: convert to use ccan/list — normalperson@...
Issue #11276 has been updated by Eric Wong.
3 messages
2015/06/17
[#69751] [Ruby trunk - Bug #11001] 2.2.1 Segmentation fault in reserve_stack() function. — kubo@...
Issue #11001 has been updated by Takehiro Kubo.
3 messages
2015/06/27
[ruby-core:69729] [Ruby trunk - Feature #10585] struct: speedup struct.attr = v for first 10 attributes and struct[:attr] for big structs
From:
funny.falcon@...
Date:
2015-06-24 09:08:33 UTC
List:
ruby-core #69729
Issue #10585 has been updated by Yura Sokolov. imho, 0001 is very important, cause it gives most of performance improvement for usual case. For now, I think twice: use struct or object, despite that struct is looking better and provides smaller and cleaner code. If setter's will be faster, than struct will be much more usable. ---------------------------------------- Feature #10585: struct: speedup struct.attr = v for first 10 attributes and struct[:attr] for big structs https://bugs.ruby-lang.org/issues/10585#change-53110 * Author: Yura Sokolov * Status: Open * Priority: Normal * Assignee: ---------------------------------------- 0001 - Define optimized setters for first 10 attributes. 0002 - Cache members definition in an subclasses - it is safe cause it could be modified/overloaded. And use `rb_attr_get` to lookup definition - it is safe cause result is checked later and `Qnil` is treated as error. 0003,0004 - Use custom hash structure (on top of Array) to lookup members index in a big structure. Well, I doubt that big structures are useful, so I will not grieve if 0004 is not accepted. ---Files-------------------------------- 0001-struct.c-speedup-struct.name-v-for-small-structs.patch (2.33 KB) 0002-struct.c-cache-member-definition-in-a-subclass.patch (1.09 KB) 0003-benchmark-struct-name.patch (2.42 KB) 0004-struct.c-speedup-for-big-structs.patch (5.47 KB) 0002-struct.c-cache-member-definition-in-a-subclass.patch (1.09 KB) -- https://bugs.ruby-lang.org/