HTML Preparation code:
Script Preparation code:
Tests:

Historical Performance Data aggregated from 32 community runs

Desktop Results:
Chrome 19 runs
getImageData/putImageData - set - no getImageData
676/s
getImageData/putImageData
319/s
getImageData/putImageData - set px.rgba
276/s
getImageData/putImageData - set [px.r, px.g, px.b, px.a]
243/s
fillRect/concat
117/s
fillRect/join
109/s
fillRect/template literal
66/s
1×1 Image Data
6/s

Fastest: getImageData/putImageData - set - no getImageData (122.1x faster)

View exact numbers
  • getImageData/putImageData - set - no getImageData: 676 ops/sec
  • getImageData/putImageData: 319 ops/sec
  • getImageData/putImageData - set px.rgba: 276 ops/sec
  • getImageData/putImageData - set [px.r, px.g, px.b, px.a]: 243 ops/sec
  • fillRect/concat: 117 ops/sec
  • fillRect/join: 109 ops/sec
  • fillRect/template literal: 66 ops/sec
  • 1×1 Image Data: 6 ops/sec
Firefox 13 runs
getImageData/putImageData - set - no getImageData
543/s
getImageData/putImageData
335/s
getImageData/putImageData - set px.rgba
312/s
getImageData/putImageData - set [px.r, px.g, px.b, px.a]
312/s
fillRect/concat
176/s
fillRect/join
168/s
fillRect/template literal
117/s
1×1 Image Data
29/s

Fastest: getImageData/putImageData - set - no getImageData (19.0x faster)

View exact numbers
  • getImageData/putImageData - set - no getImageData: 543 ops/sec
  • getImageData/putImageData: 335 ops/sec
  • getImageData/putImageData - set px.rgba: 312 ops/sec
  • getImageData/putImageData - set [px.r, px.g, px.b, px.a]: 312 ops/sec
  • fillRect/concat: 176 ops/sec
  • fillRect/join: 168 ops/sec
  • fillRect/template literal: 117 ops/sec
  • 1×1 Image Data: 29 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
    fillRect/concat
    fillRect/join
    1×1 Image Data
    fillRect/template literal
    getImageData/putImageData
    getImageData/putImageData - set px.rgba
    getImageData/putImageData - set [px.r, px.g, px.b, px.a]
    getImageData/putImageData - set - no getImageData

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 months ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36
Chrome 142 on Windows
View result in a separate tab
getImageData/putImageData - set - no getImageData
595/s
getImageData/putImageData
319/s
getImageData/putImageData - set [px.r, px.g, px.b, px.a]
277/s
getImageData/putImageData - set px.rgba
276/s
fillRect/concat
119/s
fillRect/join
109/s
fillRect/template literal
66/s
1×1 Image Data
1/s
View exact numbers
Test name Executions per second
getImageData/putImageData - set - no getImageData 595 Ops/sec
getImageData/putImageData 319 Ops/sec
getImageData/putImageData - set [px.r, px.g, px.b, px.a] 277 Ops/sec
getImageData/putImageData - set px.rgba 276 Ops/sec
fillRect/concat 119 Ops/sec
fillRect/join 109 Ops/sec
fillRect/template literal 66 Ops/sec
1×1 Image Data 1 Ops/sec