Feature #10034

[PATCH] (struct re_pattern_buffer): reduce by cache line

Added by Eric Wong 8 months ago. Updated 8 months ago.

[ruby-core:63708]
Status:Closed
Priority:Low
Assignee:Eric Wong

Description

Reducing struct re_pattern_buffer from 464 to 448 bytes allows it to fit
into neatly into seven 64-byte cache lines on x86-64 systems.

ABI is changed in 2.2.0dev anyways, so we may do this.
Will commit in a few days.
C extension users will need to rebuild extensions for this.
There'll probably be more changes like this (rb_io_t, maybe others).

re_pattern_buffer.patch Magnifier (1.16 KB) Eric Wong, 07/14/2014 08:05 AM

Associated revisions

Revision 46881
Added by normal 8 months ago

re_pattern_buffer: shrink from 464 to 448 bytes on 64-bit

  • include/ruby/oniguruma.h (struct re_pattern_buffer): shrink to 448 bytes from 464 bytes on 64-bit. This breaks the ABI. [Feature #10034]

Reducing struct re_pattern_buffer from 464 to 448 bytes allows it to fit
into neatly into seven 64-byte cache lines on x86-64 systems.

Revision 46881
Added by normal 8 months ago

re_pattern_buffer: shrink from 464 to 448 bytes on 64-bit

  • include/ruby/oniguruma.h (struct re_pattern_buffer): shrink to 448 bytes from 464 bytes on 64-bit. This breaks the ABI. [Feature #10034]

Reducing struct re_pattern_buffer from 464 to 448 bytes allows it to fit
into neatly into seven 64-byte cache lines on x86-64 systems.

History

#1 Updated by Anonymous 8 months ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

Applied in changeset r46881.


re_pattern_buffer: shrink from 464 to 448 bytes on 64-bit

  • include/ruby/oniguruma.h (struct re_pattern_buffer): shrink to 448 bytes from 464 bytes on 64-bit. This breaks the ABI. [Feature #10034]

Reducing struct re_pattern_buffer from 464 to 448 bytes allows it to fit
into neatly into seven 64-byte cache lines on x86-64 systems.

Also available in: Atom PDF