From c8f14d175bbfe00f69fde268bd10de2b80a089d9 Mon Sep 17 00:00:00 2001 From: Solly Ross Date: Tue, 22 Dec 2015 13:51:30 -0500 Subject: [PATCH] Disable copyWithin Use in Websock.js the `copyWithin` function of typed arrays has performance issues in some versions of Chromium, and doesn't doesn't have enough of a performance impact to justify leaving it enabled. --- include/websock.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/include/websock.js b/include/websock.js index 892238b5..7c27255e 100644 --- a/include/websock.js +++ b/include/websock.js @@ -67,6 +67,11 @@ function Websock() { (function () { "use strict"; + // this has performance issues in some versions Chromium, and + // doesn't gain a tremendous amount of performance increase in Firefox + // at the moment. It may be valuable to turn it on in the future. + var ENABLE_COPYWITHIN = false; + var typedArrayToString = (function () { // This is only for PhantomJS, which doesn't like apply-ing // with Typed Arrays @@ -364,8 +369,7 @@ function Websock() { this._rQ = new Uint8Array(this._rQbufferSize); this._rQ.set(new Uint8Array(old_rQbuffer, this._rQi)); } else { - if (this._rQ.copyWithin) { - // Firefox only, ATM + if (ENABLE_COPYWITHIN) { this._rQ.copyWithin(0, this._rQi); } else { this._rQ.set(new Uint8Array(this._rQ.buffer, this._rQi));