1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/internal
Peter Zhu 9aded89f40 Speed up Ractors for Variable Width Allocation
This commit adds a Ractor cache for every size pool. Previously, all VWA
allocated objects used the slowpath and locked the VM.

On a micro-benchmark that benchmarks String allocation:

VWA turned off:
  29.196591   0.889709  30.086300 (  9.434059)

VWA before this commit:
  29.279486  41.477869  70.757355 ( 12.527379)

VWA after this commit:
  16.782903   0.557117  17.340020 (  4.255603)
2021-11-23 10:51:27 -05:00
..
array.h
bignum.h
bits.h
class.h Make RCLASS_EXT(c)->subclasses a doubly linked list 2021-11-22 09:11:04 -05:00
compar.h
compile.h RubyVM.keep_script_lines 2021-10-21 16:17:39 +09:00
compilers.h
complex.h
cont.h
dir.h
enc.h
encoding.h
enum.h
enumerator.h
error.h
eval.h
file.h
fixnum.h
gc.h Speed up Ractors for Variable Width Allocation 2021-11-23 10:51:27 -05:00
hash.h
imemo.h
inits.h
io.h
load.h
loadpath.h
math.h
missing.h
numeric.h Embed bare double if sizeof(double) == sizeof(VALUE) 2021-10-27 02:05:06 +09:00
object.h
parse.h
proc.h
process.h process.c: Add Process._fork (#5017) 2021-10-25 20:47:19 +09:00
random.h
range.h
rational.h
re.h
sanitizers.h
serial.h
signal.h
static_assert.h
string.h
struct.h
symbol.h Assign temporary ID to anonymous ID [Bug #18250] 2021-11-23 21:03:19 +09:00
thread.h
time.h
transcode.h
util.h
variable.h
vm.h ast.c: Use kept script_lines data instead of re-opening the source file (#5019) 2021-10-26 01:58:01 +09:00
warnings.h