Actually the setters are on the Uint32Array, so we're rather talking about ~80.000 unique setters. Still a big number.The poor souls on IE9+ will suffer a greater pain.

Is that more or less what you have in mind ?

```javascript
    for (var i = 0; i < this.length; i++)
    {
      Object.defineProperty(this, String(i),
      {
        set: (function(i) {
          var index = i * 4;
            return function(newValue){
              // this._Uint8Array refers to the Uint8Array passed in the
              // constructor of the Uint32Array
              var dest = this._Uint8view;
              dest[index++] = newValue & 255;
              dest[index++] = (newValue >> 8) & 255;
              dest[index++] = (newValue >> 16) & 255;
              dest[index++] = (newValue >> 24) & 255;
            };
         })(i)
      })
    }
```
Also I took the IE11's F12 Developer Tools for a spin to get a profile of how IE fares with a test documents containing 10 600 DPI JBIG2 images. Decoding one of these takes ~1s in Firefox, ~1.2 s in Opera, and ~15s in IE11. This makes me all the more doubtful about creating tens of thousands of unique setters for IE.