Files
JuliaFEM.jl/benchmarks/results/struct_scaling_20251109_201256.csv
T
Jukka Aho 2cbb382ca8 feat(benchmark): Validate O(n) vs O(1) struct scaling hypothesis
- Tests 1 to 5000 fields to find crossover point
- Confirms stack copying is O(n) at 0.16 ns/field
- Confirms Dict mutation is O(1) at 7 ns constant
- Crossover at 100 fields (800 bytes) for updates
- Typical FEM elements (20-60 fields) well below crossover
- Immutable wins for access and iteration at ALL sizes
- Generates 5 publication-quality plots
- Exports JSON + CSV with system specs
- System: Intel Xeon Gold 6326, 32 cores, 503 GB RAM
2025-11-09 21:00:51 +02:00

1.9 KiB

1nfieldsbytesmut_access_nsimm_access_nsspeedup_accessmut_update_nsimm_update_nsspeedup_updatemut_iter_nsimm_iter_nsspeedup_iterimm_copy_ns
2184.6152.0232.28126544735541267.19919919919919952.3153.109805269632483611.7737737737737742.0245.8170819040384262.023
32164.9042.0232.42412259021255547.2072072072072072.3143.1146098561828914.489979959919842.0257.15554565921967442.029
45404.8972.3732.0636325326590817.2012012012012012.6042.76543824930921716.709418837675352.3127.2272572827315532.383
510804.6212.0292.27747658945293277.19919919919919952.6022.766794465487778523.131526104417672.6028.8899024229122493.311
6201604.6182.0232.2827483934750377.2012012012012013.16332665330661332.276464617928032663.1316326530612245.52311.430677648571653.177
7504004.6172.0292.2755051749630367.1971971971971976.0221.1951506471599465196.8490259740259824.7831325301204837.9428629829091666.895895895895896
81008004.6182.0252.2804938271604947.19819819819819811.7457457457457450.612834498039884260.5578635014836768.503073770491813.8035937536823479.476476476476476
920016004.6212.3731.94732406236831017.4104104104104124.6335341365461850.30082611651798524777.9142857142857155.16064757160655.01360556229490520.948897795591183
1050040004.6242.0272.2812037493833257.19819819819819880.838541666666670.089044137236908311156.3499.355670103092732.315584000000000358.68463886063072
11100080004.6712.0842.2413627639155477.2002002002002193.262578616352220.037256049524690453465.751100.23.150109071077985345.70171890798787
122000160004.6252.0242.28507905138339947.197197197197197410.85427135678390.01751763994914684811.7142857142852226.2222222222222.161380942874254582.94813278008299
135000400004.6232.0832.21939510321651457.20420420420420451936.10.003720987657767782833969.05667.1666666666675.994000529365056867.0408163265306