Script Preparation code:
Tests:

Historical Performance Data aggregated from 14 community runs

Desktop Results:
Chrome 6 runs
SubarrayOnPosAndCacheTransWithSubarray
257/s
SubarrayOnPosAndCacheTransWithSubarrayAndInterleavingData
254/s
SubarrayOnPosAndCacheTransWithSubarrayAndInterleavingDataAndSmallTrans
240/s
SubarrayOnPosAndCacheTransWithSubarrayAndSmallTrans
239/s
SubarrayOnTransAndPos
208/s
CacheTransWithVarsFromSubarray
207/s
SubarrayOnTransAndPosWithoutPlus
206/s
CacheTransWithSlice
203/s
CacheTransWithSubarray
202/s
CacheTransWithF32ArraySetFromSubarray
201/s
SubarrayOnTrans
175/s
SubarrayOnPos
86/s
PosInOutOfTheLoopF32ArrayFromSubarray
85/s
LoicRewrite
80/s
PosInOutOfTheLoopVars
79/s
PosInOutOfTheLoopF32Array
79/s
CacheTransWithArrayFromSubarray
54/s
SubarrayOnTransAndPosWithFRound
19/s
Original
18/s
UpdatedEmscripten
4/s
Warmup
0/s

Fastest: SubarrayOnPosAndCacheTransWithSubarray (1574.1x faster)

View exact numbers
  • SubarrayOnPosAndCacheTransWithSubarray: 257 ops/sec
  • SubarrayOnPosAndCacheTransWithSubarrayAndInterleavingData: 254 ops/sec
  • SubarrayOnPosAndCacheTransWithSubarrayAndInterleavingDataAndSmallTrans: 240 ops/sec
  • SubarrayOnPosAndCacheTransWithSubarrayAndSmallTrans: 239 ops/sec
  • SubarrayOnTransAndPos: 208 ops/sec
  • CacheTransWithVarsFromSubarray: 207 ops/sec
  • SubarrayOnTransAndPosWithoutPlus: 206 ops/sec
  • CacheTransWithSlice: 203 ops/sec
  • CacheTransWithSubarray: 202 ops/sec
  • CacheTransWithF32ArraySetFromSubarray: 201 ops/sec
  • SubarrayOnTrans: 175 ops/sec
  • SubarrayOnPos: 86 ops/sec
  • PosInOutOfTheLoopF32ArrayFromSubarray: 85 ops/sec
  • LoicRewrite: 80 ops/sec
  • PosInOutOfTheLoopVars: 79 ops/sec
  • PosInOutOfTheLoopF32Array: 79 ops/sec
  • CacheTransWithArrayFromSubarray: 54 ops/sec
  • SubarrayOnTransAndPosWithFRound: 19 ops/sec
  • Original: 18 ops/sec
  • UpdatedEmscripten: 4 ops/sec
  • Warmup: 0 ops/sec
Mobile Results:
Chrome 8 runs
SubarrayOnPosAndCacheTransWithSubarray
118/s
SubarrayOnPosAndCacheTransWithSubarrayAndSmallTrans
117/s
SubarrayOnPosAndCacheTransWithSubarrayAndInterleavingDataAndSmallTrans
115/s
SubarrayOnPosAndCacheTransWithSubarrayAndInterleavingData
114/s
CacheTransWithSubarray
103/s
CacheTransWithF32ArraySetFromSubarray
103/s
CacheTransWithSlice
101/s
CacheTransWithVarsFromSubarray
101/s
SubarrayOnTransAndPos
100/s
SubarrayOnTransAndPosWithoutPlus
99/s
SubarrayOnTrans
86/s
SubarrayOnPos
42/s
PosInOutOfTheLoopF32ArrayFromSubarray
42/s
PosInOutOfTheLoopVars
41/s
LoicRewrite
41/s
PosInOutOfTheLoopF32Array
40/s
CacheTransWithArrayFromSubarray
30/s
SubarrayOnTransAndPosWithFRound
9/s
Original
9/s
UpdatedEmscripten
2/s
Warmup
0/s

Fastest: SubarrayOnPosAndCacheTransWithSubarray (1391.2x faster)

View exact numbers
  • SubarrayOnPosAndCacheTransWithSubarray: 118 ops/sec
  • SubarrayOnPosAndCacheTransWithSubarrayAndSmallTrans: 117 ops/sec
  • SubarrayOnPosAndCacheTransWithSubarrayAndInterleavingDataAndSmallTrans: 115 ops/sec
  • SubarrayOnPosAndCacheTransWithSubarrayAndInterleavingData: 114 ops/sec
  • CacheTransWithSubarray: 103 ops/sec
  • CacheTransWithF32ArraySetFromSubarray: 103 ops/sec
  • CacheTransWithSlice: 101 ops/sec
  • CacheTransWithVarsFromSubarray: 101 ops/sec
  • SubarrayOnTransAndPos: 100 ops/sec
  • SubarrayOnTransAndPosWithoutPlus: 99 ops/sec
  • SubarrayOnTrans: 86 ops/sec
  • SubarrayOnPos: 42 ops/sec
  • PosInOutOfTheLoopF32ArrayFromSubarray: 42 ops/sec
  • PosInOutOfTheLoopVars: 41 ops/sec
  • LoicRewrite: 41 ops/sec
  • PosInOutOfTheLoopF32Array: 40 ops/sec
  • CacheTransWithArrayFromSubarray: 30 ops/sec
  • SubarrayOnTransAndPosWithFRound: 9 ops/sec
  • Original: 9 ops/sec
  • UpdatedEmscripten: 2 ops/sec
  • Warmup: 0 ops/sec

Results show median performance across all community submissions. Run this benchmark yourself to verify on your device.

Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results
  • Test case name Result
    Warmup
    Original
    UpdatedEmscripten
    LoicRewrite
    SubarrayOnTrans
    SubarrayOnPos
    SubarrayOnTransAndPos
    SubarrayOnTransAndPosWithFRound
    SubarrayOnTransAndPosWithoutPlus
    PosInOutOfTheLoopF32Array
    PosInOutOfTheLoopF32ArrayFromSubarray
    PosInOutOfTheLoopVars
    CacheTransWithSubarray
    CacheTransWithSlice
    CacheTransWithF32ArraySetFromSubarray
    CacheTransWithVarsFromSubarray
    CacheTransWithArrayFromSubarray
    SubarrayOnPosAndCacheTransWithSubarray
    SubarrayOnPosAndCacheTransWithSubarrayAndInterleavingData
    SubarrayOnPosAndCacheTransWithSubarrayAndSmallTrans
    SubarrayOnPosAndCacheTransWithSubarrayAndInterleavingDataAndSmallTrans
    F64PosAndF64Trans
    F64PosAndF64TransAndF64Res
    I32Joint
    VarInsteadOfLetAndConst

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 years ago)
Mozilla/5.0 (Android 13; Mobile; rv:122.0) Gecko/122.0 Firefox/122.0
Firefox Mobile 122 on Android
View result in a separate tab
F64PosAndF64TransAndF64Res
4K/s
LoicRewrite
4K/s
F64PosAndF64Trans
3K/s
PosInOutOfTheLoopVars
3K/s
I32Joint
3K/s
VarInsteadOfLetAndConst
3K/s
PosInOutOfTheLoopF32Array
2K/s
Original
2K/s
CacheTransWithSlice
1K/s
CacheTransWithSubarray
1K/s
UpdatedEmscripten
1K/s
CacheTransWithVarsFromSubarray
982/s
CacheTransWithF32ArraySetFromSubarray
873/s
SubarrayOnTrans
326/s
SubarrayOnPosAndCacheTransWithSubarrayAndInterleavingData
280/s
SubarrayOnPosAndCacheTransWithSubarray
274/s
SubarrayOnPos
269/s
SubarrayOnPosAndCacheTransWithSubarrayAndSmallTrans
240/s
PosInOutOfTheLoopF32ArrayFromSubarray
201/s
SubarrayOnTransAndPosWithoutPlus
193/s
SubarrayOnPosAndCacheTransWithSubarrayAndInterleavingDataAndSmallTrans
190/s
SubarrayOnTransAndPosWithFRound
175/s
SubarrayOnTransAndPos
168/s
CacheTransWithArrayFromSubarray
124/s
Warmup
1/s
View exact numbers
Test name Executions per second
F64PosAndF64TransAndF64Res 3,679 Ops/sec
LoicRewrite 3,642 Ops/sec
F64PosAndF64Trans 3,330 Ops/sec
PosInOutOfTheLoopVars 3,296 Ops/sec
I32Joint 3,220 Ops/sec
VarInsteadOfLetAndConst 2,740 Ops/sec
PosInOutOfTheLoopF32Array 2,442 Ops/sec
Original 1,674 Ops/sec
CacheTransWithSlice 1,280 Ops/sec
CacheTransWithSubarray 1,161 Ops/sec
UpdatedEmscripten 1,111 Ops/sec
CacheTransWithVarsFromSubarray 982 Ops/sec
CacheTransWithF32ArraySetFromSubarray 873 Ops/sec
SubarrayOnTrans 326 Ops/sec
SubarrayOnPosAndCacheTransWithSubarrayAndInterleavingData 280 Ops/sec
SubarrayOnPosAndCacheTransWithSubarray 274 Ops/sec
SubarrayOnPos 269 Ops/sec
SubarrayOnPosAndCacheTransWithSubarrayAndSmallTrans 240 Ops/sec
PosInOutOfTheLoopF32ArrayFromSubarray 201 Ops/sec
SubarrayOnTransAndPosWithoutPlus 193 Ops/sec
SubarrayOnPosAndCacheTransWithSubarrayAndInterleavingDataAndSmallTrans 190 Ops/sec
SubarrayOnTransAndPosWithFRound 175 Ops/sec
SubarrayOnTransAndPos 168 Ops/sec
CacheTransWithArrayFromSubarray 124 Ops/sec
Warmup 1 Ops/sec