{"ScriptPreparationCode":"var prefixMap = new Map([[\u0027!\u0027, new RegExp(\u0027^!\u0027)]]);\r\nvar prefix = new RegExp(\u0027^!\u0027);\r\nvar message1 = \u0027!test\u0027;\r\nvar message2 = \u0027test\u0027;\r\n\r\nfunction startsWithPrefix (prefix, content) {\r\n for (let i = 0; i \u003C prefix.length; i\u002B\u002B)\r\n if (prefix[i] !== content[i]) return false;\r\n return true;\r\n};","TestCases":[{"Name":"startsWith","Code":"message1.startsWith(\u0027!\u0027);\r\nmessage2.startsWith(\u0027!\u0027);","IsDeferred":false},{"Name":"cached RegExp","Code":"prefix.test(message1);\r\nprefix.test(message2);","IsDeferred":false},{"Name":"uncached RegExp","Code":"/^!/.test(message1);\r\n/^!/.test(message2);","IsDeferred":false},{"Name":"prefixMap","Code":"prefixMap.get(\u0027!\u0027).test(message1);\r\nprefixMap.get(\u0027!\u0027).test(message2);","IsDeferred":false},{"Name":"for function","Code":"startsWithPrefix(\u0027!\u0027, message1);\r\nstartsWithPrefix(\u0027!\u0027, message2);","IsDeferred":false}]}