From: normalperson@... Date: 2014-07-17T05:31:06+00:00 Subject: [ruby-core:63786] [ruby-trunk - Feature #10050] [PATCH 0/2] reduce rb_io_t to 192 bytes (from 216) on 64-bit Issue #10050 has been updated by Eric Wong. I forgot to note this the last publically-visible struct which may be packed. Internals for the others are defined privately: $ pahole -P ruby rb_thread_struct 1016 1000 16 rb_execarg 160 152 8 io_internal_writev_struct 24 16 8 io_advise_struct 32 24 8 waitpid_arg 24 16 8 load_file_arg 48 40 8 rb_econv_t 200 184 16 rb_transcoder 160 152 8 rb_context_struct 1312 1304 8 rb_fiber_struct 2304 2296 8 parser_params 320 304 16 ---------------------------------------- Feature #10050: [PATCH 0/2] reduce rb_io_t to 192 bytes (from 216) on 64-bit https://bugs.ruby-lang.org/issues/10050#change-47817 * Author: Eric Wong * Status: Open * Priority: Normal * Assignee: Eric Wong * Category: core * Target version: current: 2.2.0 ---------------------------------------- This will allow x86-64 machines to only use 3 cache lines instead of 4 (where cache size == 64). Hopefully there are other 64-bit architectures which benefit, too. This is also public ABI breakage, so I hope to commit it around when a patch for Feature #10034 (re_pattern_buffer reduction) gets committed to reduce testers' need to rebuild C exts. ---Files-------------------------------- 0001-rb_io_t.p (19 Bytes) 0001-rb_io_t.patch (1.18 KB) 0002-rb_io_buffer_t.patch (966 Bytes) -- https://bugs.ruby-lang.org/