{"ScriptPreparationCode":"iterations = 1000;\r\nfunction randomStringGen(n) {\r\n let strings = [];\r\n for (let i = 0; i \u003C n; i\u002B\u002B) {\r\n let s = Math.random().toString(36).substring(2, 15) \u002B Math.random().toString(36).substring(2, 15);\r\n strings[i] = s;\r\n }\r\n return strings;\r\n}\r\nvar randomStrings = randomStringGen(iterations);\r\nvar encoder = new TextEncoder();\r\nvar arrayBuffer = new ArrayBuffer(iterations*1000);\r\nvar buffer = new Uint8Array(arrayBuffer);","TestCases":[{"Name":"Baseline encoder","Code":"var j = 0;\r\nfor (let i = 0; i \u003C iterations; i\u002B\u002B) {\r\n var str = randomStrings[i % iterations];\r\n buffer[j] = str.length;\r\n var res = encoder.encodeInto(str, buffer.subarray(j\u002B1));\r\n j = j \u002B res.written;\r\n}","IsDeferred":false},{"Name":"baseline hash","Code":"var stringMap = {};\r\nvar counter = 0;\r\nfunction stringToMap(s) {\r\n \tvar i = stringMap[s];\r\n\tif (i === undefined) {\r\n stringMap[s] = counter\u002B\u002B;\r\n } else {\r\n return i;\r\n }\r\n}\r\nvar j = 0;\r\nfor (let i = 0; i \u003C iterations; i\u002B\u002B) {\r\n var str = randomStrings[i % iterations];\r\n var num = stringToMap(str);\r\n buffer[j] = num;\r\n j = j \u002B 8;\r\n}","IsDeferred":false}]}