[ruby-core:63786] [ruby-trunk - Feature #10050] [PATCH 0/2] reduce rb_io_t to 192 bytes (from 216) on 64-bit

From: normalperson@...
Date: 2014-07-17 05:31:06 UTC
List: ruby-core #63786
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/

In This Thread

Prev Next