Skip to content

Instantly share code, notes, and snippets.

@JobLeonard
Last active September 25, 2023 22:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JobLeonard/1daadb1e2d02f549dfa3147431810184 to your computer and use it in GitHub Desktop.
Save JobLeonard/1daadb1e2d02f549dfa3147431810184 to your computer and use it in GitHub Desktop.
Bit Array iterator test
{"title":"Bit Array iterator test","initialization":"class BitArrayU8 {\n constructor(length) {\n this.bits = new Uint8Array(Math.ceil(length / 8));\n this.length = length;\n }\n\n at(i) {\n return (this.bits[i >> 3] & (1 << (i & 7))) ? true : false;\n }\n\n fill(bool) {\n this.bits.fill(bool ? 255 : 0);\n }\n \n forEach(cb) {\n const {bits, length} = this;\n for(let i = 0; i < length; i++) {\n cb((bits[i >> 3] & (1 << (i & 7))) ? true : false, i, bits);\n }\n }\n \n [Symbol.iterator]() {\n let i = 0;\n const {bits, length} = this;\n return {\n next(){\n if (i < length) {\n const v = {\n done: false,\n value: (bits[i >> 3] & (1 << (i & 7))) ? true : false\n };\n i++;\n return v;\n }\n return {done: true, value: undefined};\n }\n };\n }\n}\n\nclass BitArrayU32 {\n constructor(length) {\n this.bits32 = new Uint32Array(Math.ceil(length / 32));\n this.bits = new Uint8Array(this.bits32.buffer);\n this.length = length;\n }\n\n fill(bool) {\n this.bits32.fill(bool ? 0xFFFFFFFF : 0);\n }\n \n at(i) {\n return (this.bits32[i >> 5] & (1 << (i & 31))) ? true : false;\n }\n \n forEach(cb) {\n const {bits32, length} = this;\n for(let i = 0; i < length; i++) {\n cb((bits32[i >> 5] & (1 << (i & 31))) ? true : false, i, bits32);\n }\n }\n\n [Symbol.iterator]() {\n let i = 0;\n const {bits32, length} = this;\n return {\n next(){\n if (i < length) {\n const v = {\n done: false,\n value: (bits32[i >> 5] & (1 << (i & 31))) ? true : false\n };\n i++;\n return v;\n }\n return {done: true, value: undefined};\n }\n };\n }\n}\n\nclass BitArrayU32_2 {\n constructor(length) {\n this.bits32 = new Uint32Array(Math.ceil(length / 32));\n this.bits = new Uint8Array(this.bits32.buffer);\n this.length = length;\n }\n\n fill(bool) {\n this.bits32.fill(bool ? 0xFFFFFFFF : 0);\n }\n \n at(i) {\n return (this.bits32[i >> 5] & (1 << (i & 31))) ? true : false;\n }\n \n forEach(cb) {\n const {bits32, length} = this;\n let i = 0, v = 0;\n while(i + 32 < length) {\n v = bits32[i >> 5];\n for (let j = 1; j; j <<= 1) {\n\t cb((v & j) ? true : false, i++, bits32);\n }\n }\n v = bits32[i >> 5];\n for(; i < length; i++) {\n cb((v & (1 << (i & 31))) ? true : false, i, bits32);\n }\n }\n\n *[Symbol.iterator]() {\n const {bits32, length} = this;\n for(let i = 0; i < length; i++) {\n yield (bits32[i >> 5] & (1 << (i & 31))) ? true : false;\n }\n }\n}\n\nconst bitArrU8 = new BitArrayU8(1000);\nconst bitArrU32 = new BitArrayU32(1000);\nconst bitArrU32_2 = new BitArrayU32_2(1000);\nbitArrU8.fill(true);\nbitArrU32.fill(true);\nbitArrU32_2.fill(true);","setup":"// runs before each test\n","tests":[{"name":"[...bitArrU8] custom iterator","code":"const t = [...bitArrU8];","results":{"aborted":false,"count":2452,"cycles":4,"hz":31862.411618574428,"stats":{"moe":2.974492483316081e-7,"rme":0.9477450385977259,"sem":1.5175982057735106e-7,"deviation":0.000001251443539930406,"mean":0.00003138494386335285,"variance":1.5661109336335456e-12,"numSamples":68},"times":{"cycle":0.07695588235294118,"elapsed":5.878,"period":0.00003138494386335285,"timeStamp":1695680590928}},"platforms":{"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0":{"aborted":false,"count":4691,"cycles":4,"hz":56585.46382504041,"stats":{"moe":3.5522411961682897e-7,"rme":2.0100521570359904,"sem":1.8123679572287191e-7,"deviation":0.0000014038541831093572,"mean":0.000017672383195301763,"variance":1.9708065674336406e-12,"numSamples":60},"times":{"cycle":0.08290114956916057,"elapsed":6,"period":0.000017672383195301763,"timeStamp":1695680486407}},"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36":{"aborted":false,"count":2452,"cycles":4,"hz":31862.411618574428,"stats":{"moe":2.974492483316081e-7,"rme":0.9477450385977259,"sem":1.5175982057735106e-7,"deviation":0.000001251443539930406,"mean":0.00003138494386335285,"variance":1.5661109336335456e-12,"numSamples":68},"times":{"cycle":0.07695588235294118,"elapsed":5.878,"period":0.00003138494386335285,"timeStamp":1695680590928}}}},{"name":"[...bitArrU32] custom iterator","code":"const t = [...bitArrU32];","results":{"aborted":false,"count":2508,"cycles":4,"hz":32174.08000325758,"stats":{"moe":1.7584100774686187e-7,"rme":0.565752265110097,"sem":8.971479987084789e-8,"deviation":7.34347285800827e-7,"mean":0.000031080919793161185,"variance":5.392659361630415e-13,"numSamples":67},"times":{"cycle":0.07795094684124826,"elapsed":6.001,"period":0.000031080919793161185,"timeStamp":1695680596811}},"platforms":{"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0":{"aborted":false,"count":4284,"cycles":4,"hz":52901.48205780637,"stats":{"moe":4.52863001278333e-7,"rme":2.395712393677008,"sem":2.3105255167261887e-7,"deviation":0.0000018339227745379514,"mean":0.000018903062090156237,"variance":3.363272742968978e-12,"numSamples":63},"times":{"cycle":0.08098071799422932,"elapsed":5.946,"period":0.000018903062090156237,"timeStamp":1695680492412}},"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36":{"aborted":false,"count":2508,"cycles":4,"hz":32174.08000325758,"stats":{"moe":1.7584100774686187e-7,"rme":0.565752265110097,"sem":8.971479987084789e-8,"deviation":7.34347285800827e-7,"mean":0.000031080919793161185,"variance":5.392659361630415e-13,"numSamples":67},"times":{"cycle":0.07795094684124826,"elapsed":6.001,"period":0.000031080919793161185,"timeStamp":1695680596811}}}},{"name":"[...bitArrU32] generator","code":"const t = [...bitArrU32_2];","results":{"aborted":false,"count":1733,"cycles":4,"hz":22515.563489314252,"stats":{"moe":3.587303647080609e-7,"rme":0.8077016302129203,"sem":1.830256962796229e-7,"deviation":0.0000015092685559262052,"mean":0.00004441372299985269,"variance":2.2778915739075725e-12,"numSamples":68},"times":{"cycle":0.07696898195874471,"elapsed":6.11,"period":0.00004441372299985269,"timeStamp":1695680602817}},"platforms":{"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0":{"aborted":false,"count":976,"cycles":2,"hz":9761.841856954143,"stats":{"moe":0.0000034831294117430866,"rme":3.4001758484741718,"sem":0.0000017771068427260645,"deviation":0.0000129375331000381,"mean":0.00010243968450355707,"variance":1.6737976271458145e-10,"numSamples":53},"times":{"cycle":0.0999811320754717,"elapsed":5.796,"period":0.00010243968450355707,"timeStamp":1695680498364}},"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36":{"aborted":false,"count":1733,"cycles":4,"hz":22515.563489314252,"stats":{"moe":3.587303647080609e-7,"rme":0.8077016302129203,"sem":1.830256962796229e-7,"deviation":0.0000015092685559262052,"mean":0.00004441372299985269,"variance":2.2778915739075725e-12,"numSamples":68},"times":{"cycle":0.07696898195874471,"elapsed":6.11,"period":0.00004441372299985269,"timeStamp":1695680602817}}}},{"name":"bitArrU8.forEach","code":"let t = [false];\nbitArrU8.forEach((v, i) => t[i] = v);","results":{"aborted":false,"count":10721,"cycles":9,"hz":139127.11194331278,"stats":{"moe":9.231718260001995e-8,"rme":1.284382299788422,"sem":4.710060336735712e-8,"deviation":3.8840152542787254e-7,"mean":0.000007187671662497021,"variance":1.508557449546983e-13,"numSamples":68},"times":{"cycle":0.07705902789363056,"elapsed":6.278,"period":0.000007187671662497021,"timeStamp":1695680608932}},"platforms":{"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0":{"aborted":false,"count":4422,"cycles":4,"hz":47142.223304846164,"stats":{"moe":4.820955991445302e-7,"rme":2.272705838915505,"sem":2.459671424206787e-7,"deviation":0.0000018570112017927848,"mean":0.00002121240641395887,"variance":3.448490603583883e-12,"numSamples":57},"times":{"cycle":0.09380126116252611,"elapsed":5.884,"period":0.00002121240641395887,"timeStamp":1695680504166}},"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36":{"aborted":false,"count":10721,"cycles":9,"hz":139127.11194331278,"stats":{"moe":9.231718260001995e-8,"rme":1.284382299788422,"sem":4.710060336735712e-8,"deviation":3.8840152542787254e-7,"mean":0.000007187671662497021,"variance":1.508557449546983e-13,"numSamples":68},"times":{"cycle":0.07705902789363056,"elapsed":6.278,"period":0.000007187671662497021,"timeStamp":1695680608932}}}},{"name":"bitArrU32.forEach","code":"let t = [false];\nbitArrU32.forEach((v, i) => t[i] = v);","results":{"aborted":false,"count":10873,"cycles":5,"hz":140132.45886780389,"stats":{"moe":8.380658466984145e-8,"rme":1.1744022779097683,"sem":4.275846156624564e-8,"deviation":3.5259530685308784e-7,"mean":0.000007136105425391596,"variance":1.243234504148232e-13,"numSamples":68},"times":{"cycle":0.07759087429028282,"elapsed":6.128,"period":0.000007136105425391596,"timeStamp":1695680615216}},"platforms":{"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0":{"aborted":false,"count":4609,"cycles":4,"hz":50744.97032379189,"stats":{"moe":7.735914090225339e-7,"rme":3.9255873093588836,"sem":3.94689494399252e-7,"deviation":0.0000029798403360550745,"mean":0.000019706386536817972,"variance":8.87944842838082e-12,"numSamples":57},"times":{"cycle":0.09082673554819404,"elapsed":5.835,"period":0.000019706386536817972,"timeStamp":1695680510056}},"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36":{"aborted":false,"count":10873,"cycles":5,"hz":140132.45886780389,"stats":{"moe":8.380658466984145e-8,"rme":1.1744022779097683,"sem":4.275846156624564e-8,"deviation":3.5259530685308784e-7,"mean":0.000007136105425391596,"variance":1.243234504148232e-13,"numSamples":68},"times":{"cycle":0.07759087429028282,"elapsed":6.128,"period":0.000007136105425391596,"timeStamp":1695680615216}}}},{"name":"bitArrU32.forEach \"unrolled\"","code":"let t = [false];\nbitArrU32_2.forEach((v, i) => t[i] = v);","results":{"aborted":false,"count":11429,"cycles":8,"hz":145693.16641399817,"stats":{"moe":5.834974855612189e-8,"rme":0.8501159626602016,"sem":2.9770279875572393e-8,"deviation":2.418548970259112e-7,"mean":0.000006863739903616511,"variance":5.84937912154141e-14,"numSamples":66},"times":{"cycle":0.0784456833584331,"elapsed":6.198,"period":0.000006863739903616511,"timeStamp":1695680621349}},"platforms":{"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0":{"aborted":false,"count":4599,"cycles":4,"hz":54971.23021110596,"stats":{"moe":2.8370768364389767e-7,"rme":1.559576039024832,"sem":1.4474881818566207e-7,"deviation":0.0000011397533341478072,"mean":0.000018191333833347026,"variance":1.2990376627010432e-12,"numSamples":62},"times":{"cycle":0.08366194429956297,"elapsed":6.118,"period":0.000018191333833347026,"timeStamp":1695680515896}},"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36":{"aborted":false,"count":11429,"cycles":8,"hz":145693.16641399817,"stats":{"moe":5.834974855612189e-8,"rme":0.8501159626602016,"sem":2.9770279875572393e-8,"deviation":2.418548970259112e-7,"mean":0.000006863739903616511,"variance":5.84937912154141e-14,"numSamples":66},"times":{"cycle":0.0784456833584331,"elapsed":6.198,"period":0.000006863739903616511,"timeStamp":1695680621349}}}},{"name":"for-loop bitArrU8.at(i)","code":"const t = [false];\nfor (let i = 0; i < bitArrU8.length; i++) t[i] = bitArrU8.at(i);\n","results":{"aborted":false,"count":14246,"cycles":8,"hz":185979.23154493017,"stats":{"moe":2.5086117586953256e-8,"rme":0.4665496871267324,"sem":1.2799039585180233e-8,"deviation":1.0631680764069118e-7,"mean":0.0000053769444668256575,"variance":1.130326358690773e-14,"numSamples":69},"times":{"cycle":0.07659995087439832,"elapsed":6.322,"period":0.0000053769444668256575,"timeStamp":1695680627552}},"platforms":{"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0":{"aborted":false,"count":6566,"cycles":4,"hz":80894.30754485997,"stats":{"moe":1.706546389503476e-7,"rme":1.3804988847206459,"sem":8.706869334201409e-8,"deviation":7.019702475308834e-7,"mean":0.000012361809258895622,"variance":4.927622284185696e-13,"numSamples":65},"times":{"cycle":0.08116763959390866,"elapsed":6.064,"period":0.000012361809258895622,"timeStamp":1695680522019}},"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36":{"aborted":false,"count":14246,"cycles":8,"hz":185979.23154493017,"stats":{"moe":2.5086117586953256e-8,"rme":0.4665496871267324,"sem":1.2799039585180233e-8,"deviation":1.0631680764069118e-7,"mean":0.0000053769444668256575,"variance":1.130326358690773e-14,"numSamples":69},"times":{"cycle":0.07659995087439832,"elapsed":6.322,"period":0.0000053769444668256575,"timeStamp":1695680627552}}}},{"name":"for-loop bitArrU32.at(i)","code":"const t = [false];\nfor (let i = 0; i < bitArrU32.length; i++) t[i] = bitArrU32.at(i);","results":{"aborted":false,"count":12377,"cycles":5,"hz":163218.57934065603,"stats":{"moe":2.4529776321051934e-8,"rme":0.4003715242666161,"sem":1.2515192000536701e-8,"deviation":1.0395899252065957e-7,"mean":0.00000612675348627367,"variance":1.080747212591055e-14,"numSamples":69},"times":{"cycle":0.07583082789960921,"elapsed":6.042,"period":0.00000612675348627367,"timeStamp":1695680633879}},"platforms":{"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0":{"aborted":false,"count":6444,"cycles":3,"hz":74923.44169117775,"stats":{"moe":2.961048826638023e-7,"rme":2.2185196910734417,"sem":1.5107391972642974e-7,"deviation":0.000001189557233483736,"mean":0.000013346957606697213,"variance":1.4150464117334797e-12,"numSamples":62},"times":{"cycle":0.08600779481755684,"elapsed":5.796,"period":0.000013346957606697213,"timeStamp":1695680528088}},"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36":{"aborted":false,"count":12377,"cycles":5,"hz":163218.57934065603,"stats":{"moe":2.4529776321051934e-8,"rme":0.4003715242666161,"sem":1.2515192000536701e-8,"deviation":1.0395899252065957e-7,"mean":0.00000612675348627367,"variance":1.080747212591055e-14,"numSamples":69},"times":{"cycle":0.07583082789960921,"elapsed":6.042,"period":0.00000612675348627367,"timeStamp":1695680633879}}}},{"name":"for-loop bitArrU8 inlined","code":"const t = [false], {bits, length} = bitArrU8;\nfor (let i = 0; i < length; i++) t[i] = (bits[i >> 3] & (1 << (i & 7))) ? true : false;","results":{"aborted":false,"count":15328,"cycles":4,"hz":195228.11636535294,"stats":{"moe":5.701470190992767e-8,"rme":1.113087285900727,"sem":2.9089133627514118e-8,"deviation":2.3632123874751206e-7,"mean":0.000005122213022475638,"variance":5.58477278831586e-14,"numSamples":66},"times":{"cycle":0.07851328120850658,"elapsed":6.048,"period":0.000005122213022475638,"timeStamp":1695680639926}},"platforms":{"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0":{"aborted":false,"count":10485,"cycles":5,"hz":117370.80869417774,"stats":{"moe":1.2927497482728219e-7,"rme":1.517310833939758,"sem":6.595661980983785e-8,"deviation":5.066224097961224e-7,"mean":0.000008520006048570454,"variance":2.566662661076301e-13,"numSamples":59},"times":{"cycle":0.08933226341926122,"elapsed":6.024,"period":0.000008520006048570454,"timeStamp":1695680533889}},"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36":{"aborted":false,"count":15328,"cycles":4,"hz":195228.11636535294,"stats":{"moe":5.701470190992767e-8,"rme":1.113087285900727,"sem":2.9089133627514118e-8,"deviation":2.3632123874751206e-7,"mean":0.000005122213022475638,"variance":5.58477278831586e-14,"numSamples":66},"times":{"cycle":0.07851328120850658,"elapsed":6.048,"period":0.000005122213022475638,"timeStamp":1695680639926}}}},{"name":"for-loop bitArrU32 inlined","code":"const t = [false], {bits32, length} = bitArrU32;\nfor (let i = 0; i < length; i++) t[i] = (bits32[i >> 5] & (1 << (i & 31))) ? true : false;","results":{"aborted":false,"count":16181,"cycles":5,"hz":201618.29643180387,"stats":{"moe":6.627660883814487e-8,"rme":1.3362576967223805,"sem":3.3814596345992285e-8,"deviation":2.6192673701350857e-7,"mean":0.000004959867322052509,"variance":6.860561556254369e-14,"numSamples":60},"times":{"cycle":0.08025561313813165,"elapsed":5.902,"period":0.000004959867322052509,"timeStamp":1695680645980}},"platforms":{"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0":{"aborted":false,"count":8512,"cycles":3,"hz":106763.80471433708,"stats":{"moe":1.0972011655823138e-7,"rme":1.1714137097457318,"sem":5.597965130522009e-8,"deviation":4.4078421516173856e-7,"mean":0.000009366470244064955,"variance":1.9429072433574982e-13,"numSamples":62},"times":{"cycle":0.0797273947174809,"elapsed":5.814,"period":0.000009366470244064955,"timeStamp":1695680539919}},"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36":{"aborted":false,"count":16181,"cycles":5,"hz":201618.29643180387,"stats":{"moe":6.627660883814487e-8,"rme":1.3362576967223805,"sem":3.3814596345992285e-8,"deviation":2.6192673701350857e-7,"mean":0.000004959867322052509,"variance":6.860561556254369e-14,"numSamples":60},"times":{"cycle":0.08025561313813165,"elapsed":5.902,"period":0.000004959867322052509,"timeStamp":1695680645980}}}},{"name":"for-loop bitArrU32 inlined \"unrolled\"","code":"const t = [false], {bits32, length} = bitArrU32;\nlet i = 0, v = 0;\nwhile(i + 32 < length) {\n v = bits32[i >> 5];\n for (let j = 1; j; j <<= 1, i++) t[i] = (v & j) ? true : false;\n}\nv = bits32[i >> 5];\nfor(; i < length; i++) t[i] = (v & (1 << (i & 31))) ? true : false;","results":{"aborted":false,"count":16264,"cycles":4,"hz":213026.58010223665,"stats":{"moe":2.807469646249858e-8,"rme":0.5980656574814434,"sem":1.4323824725764583e-8,"deviation":1.1898262427529203e-7,"mean":0.000004694249889004816,"variance":1.4156864879435312e-14,"numSamples":69},"times":{"cycle":0.07634728019477433,"elapsed":6.131,"period":0.000004694249889004816,"timeStamp":1695680651887}},"platforms":{"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0":{"aborted":false,"count":10062,"cycles":3,"hz":122860.77116893044,"stats":{"moe":1.138261007274258e-7,"rme":1.3984762514523887,"sem":5.807454118746215e-8,"deviation":4.5727939458970016e-7,"mean":0.000008139294507805305,"variance":2.091044447163227e-13,"numSamples":62},"times":{"cycle":0.08189758133753698,"elapsed":5.848,"period":0.000008139294507805305,"timeStamp":1695680545739}},"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36":{"aborted":false,"count":16264,"cycles":4,"hz":213026.58010223665,"stats":{"moe":2.807469646249858e-8,"rme":0.5980656574814434,"sem":1.4323824725764583e-8,"deviation":1.1898262427529203e-7,"mean":0.000004694249889004816,"variance":1.4156864879435312e-14,"numSamples":69},"times":{"cycle":0.07634728019477433,"elapsed":6.131,"period":0.000004694249889004816,"timeStamp":1695680651887}}}},{"name":"for-of bitArrU8","code":"let t = []\nfor (const bool of bitArrU8) t.push(bool);","results":{"aborted":false,"count":6816,"cycles":7,"hz":81231.2641067297,"stats":{"moe":6.462373276412047e-8,"rme":0.5249467503724992,"sem":3.297129222659208e-8,"deviation":2.5961621460853046e-7,"mean":0.000012310531062105604,"variance":6.740057888766255e-14,"numSamples":62},"times":{"cycle":0.0839085797193118,"elapsed":6.113,"period":0.000012310531062105604,"timeStamp":1695680658023}},"platforms":{"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0":{"aborted":false,"count":4264,"cycles":4,"hz":53783.37043777527,"stats":{"moe":1.7221406624367945e-7,"rme":0.9262252919379382,"sem":8.786431951208136e-8,"deviation":7.029145560966508e-7,"mean":0.000018593107718248173,"variance":4.940888731725517e-13,"numSamples":64},"times":{"cycle":0.07928101131061022,"elapsed":5.987,"period":0.000018593107718248173,"timeStamp":1695680551593}},"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36":{"aborted":false,"count":6816,"cycles":7,"hz":81231.2641067297,"stats":{"moe":6.462373276412047e-8,"rme":0.5249467503724992,"sem":3.297129222659208e-8,"deviation":2.5961621460853046e-7,"mean":0.000012310531062105604,"variance":6.740057888766255e-14,"numSamples":62},"times":{"cycle":0.0839085797193118,"elapsed":6.113,"period":0.000012310531062105604,"timeStamp":1695680658023}}}},{"name":"for-of bitArrU32","code":"let t = []\nfor (const bool of bitArrU32) t.push(bool);","results":{"aborted":false,"count":6948,"cycles":4,"hz":79674.4753881399,"stats":{"moe":6.196411916785892e-8,"rme":0.4936958687587344,"sem":3.1614346514213736e-8,"deviation":2.469159396166385e-7,"mean":0.000012551071031574774,"variance":6.096748123676747e-14,"numSamples":61},"times":{"cycle":0.08720484152738153,"elapsed":5.845,"period":0.000012551071031574774,"timeStamp":1695680664142}},"platforms":{"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0":{"aborted":false,"count":4083,"cycles":5,"hz":49793.2522497132,"stats":{"moe":3.525960530362456e-7,"rme":1.7556904211087032,"sem":1.7989594542665592e-7,"deviation":0.0000014278798004033369,"mean":0.000020083042477020766,"variance":2.0388407243998734e-12,"numSamples":63},"times":{"cycle":0.08199906243367579,"elapsed":6.123,"period":0.000020083042477020766,"timeStamp":1695680557586}},"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36":{"aborted":false,"count":6948,"cycles":4,"hz":79674.4753881399,"stats":{"moe":6.196411916785892e-8,"rme":0.4936958687587344,"sem":3.1614346514213736e-8,"deviation":2.469159396166385e-7,"mean":0.000012551071031574774,"variance":6.096748123676747e-14,"numSamples":61},"times":{"cycle":0.08720484152738153,"elapsed":5.845,"period":0.000012551071031574774,"timeStamp":1695680664142}}}},{"name":"for-of bitArrU32 generator","code":"let t = []\nfor (const bool of bitArrU32_2) t.push(bool);","results":{"aborted":false,"count":2776,"cycles":4,"hz":35306.1473695916,"stats":{"moe":1.9753638430579546e-7,"rme":0.6974248695156696,"sem":1.007838695437732e-7,"deviation":8.062709563501856e-7,"mean":0.00002832367942986829,"variance":6.500728550538428e-13,"numSamples":64},"times":{"cycle":0.07862653409731438,"elapsed":6.042,"period":0.00002832367942986829,"timeStamp":1695680669992}},"platforms":{"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0":{"aborted":false,"count":870,"cycles":4,"hz":11311.5125123499,"stats":{"moe":5.462456220925416e-7,"rme":0.617886418911614,"sem":2.7869674596558243e-7,"deviation":0.0000022812311821012125,"mean":0.00008840550712455127,"variance":5.204015706190895e-12,"numSamples":67},"times":{"cycle":0.07691279119835961,"elapsed":5.919,"period":0.00008840550712455127,"timeStamp":1695680563715}},"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36":{"aborted":false,"count":2776,"cycles":4,"hz":35306.1473695916,"stats":{"moe":1.9753638430579546e-7,"rme":0.6974248695156696,"sem":1.007838695437732e-7,"deviation":8.062709563501856e-7,"mean":0.00002832367942986829,"variance":6.500728550538428e-13,"numSamples":64},"times":{"cycle":0.07862653409731438,"elapsed":6.042,"period":0.00002832367942986829,"timeStamp":1695680669992}}}}]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment