Commit f574d98
committed
Implement allocation fast path for Immix
This commit implements a fast path that inlines mmtk_post_alloc for Immix.
The benchmark results show a decent speed up in allocation performance.
GC.disable
i = 0
while i < 10_000_000
Object.new
i += 1
end
Before:
Time (mean ± σ): 506.3 ms ± 5.0 ms [User: 442.8 ms, System: 108.8 ms]
Range (min … max): 497.8 ms … 513.2 ms 10 runs
After:
Time (mean ± σ): 473.9 ms ± 2.4 ms [User: 409.4 ms, System: 108.8 ms]
Range (min … max): 470.4 ms … 478.1 ms 10 runs1 parent d764343 commit f574d98
3 files changed
Lines changed: 39 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
52 | 55 | | |
53 | 56 | | |
54 | 57 | | |
| |||
591 | 594 | | |
592 | 595 | | |
593 | 596 | | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
594 | 600 | | |
595 | 601 | | |
596 | 602 | | |
| |||
883 | 889 | | |
884 | 890 | | |
885 | 891 | | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
886 | 904 | | |
887 | 905 | | |
888 | 906 | | |
| |||
916 | 934 | | |
917 | 935 | | |
918 | 936 | | |
919 | | - | |
920 | | - | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
| 942 | + | |
| 943 | + | |
921 | 944 | | |
922 | 945 | | |
923 | 946 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
100 | 104 | | |
101 | 105 | | |
102 | 106 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
243 | 243 | | |
244 | 244 | | |
245 | 245 | | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
246 | 256 | | |
247 | 257 | | |
248 | 258 | | |
| |||
0 commit comments