forked from LeenkxTeam/Kmake
23 lines
338 KiB
JavaScript
23 lines
338 KiB
JavaScript
|
|
// Copyright 2024 the V8 project authors. All rights reserved.
|
||
|
|
// Use of this source code is governed by a BSD-style license that can be
|
||
|
|
// found in the LICENSE file.
|
||
|
|
|
||
|
|
// This benchmark was ported from
|
||
|
|
// https://github.com/mathiasbynens/string-prototype-replace-regexp-benchmark.
|
||
|
|
|
||
|
|
d8.file.execute("base.js");
|
||
|
|
|
||
|
|
var string;
|
||
|
|
var re;
|
||
|
|
|
||
|
|
function Setup() {
|
||
|
|
re = /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299\u{1F004}\u{1F170}\u{1F171}\u{1F17E}\u{1F17F}\u{1F202}\u{1F237}\u{1F321}\u{1F324}-\u{1F32C}\u{1F336}\u{1F37D}\u{1F396}\u{1F397}\u{1F399}-\u{1F39B}\u{1F39E}\u{1F39F}\u{1F3CD}\u{1F3CE}\u{1F3D4}-\u{1F3DF}\u{1F3F5}\u{1F3F7}\u{1F43F}\u{1F4FD}\u{1F549}\u{1F54A}\u{1F56F}\u{1F570}\u{1F573}\u{1F576}-\u{1F579}\u{1F587}\u{1F58A}-\u{1F58D}\u{1F5A5}\u{1F5A8}\u{1F5B1}\u{1F5B2}\u{1F5BC}\u{1F5C2}-\u{1F5C4}\u{1F5D1}-\u{1F5D3}\u{1F5DC}-\u{1F5DE}\u{1F5E1}\u{1F5E3}\u{1F5E8}\u{1F5EF}\u{1F5F3}\u{1F5FA}\u{1F6CB}\u{1F6CD}-\u{1F6CF}\u{1F6E0}-\u{1F6E5}\u{1F6E9}\u{1F6F0}\u{1F6F3}]\uFE0F?|[\u261D\u270C\u270D\u{1F574}\u{1F590}][\uFE0F\u{1F3FB}-\u{1F3FF}]?|[\u26F9\u{1F3CB}\u{1F3CC}\u{1F575}][\uFE0F\u{1F3FB}-\u{1F3FF}]?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\u270A\u270B\u{1F385}\u{1F3C2}\u{1F3C7}\u{1F442}\u{1F443}\u{1F446}-\u{1F450}\u{1F466}\u{1F467}\u{1F46B}-\u{1F46D}\u{1F472}\u{1F474}-\u{1F476}\u{1F478}\u{1F47C}\u{1F483}\u{1F485}\u{1F48F}\u{1F491}\u{1F4AA}\u{1F57A}\u{1F595}\u{1F596}\u{1F64C}\u{1F64F}\u{1F6C0}\u{1F6CC}\u{1F90C}\u{1F90F}\u{1F918}-\u{1F91F}\u{1F930}-\u{1F934}\u{1F936}\u{1F977}\u{1F9B5}\u{1F9B6}\u{1F9BB}\u{1F9D2}\u{1F9D3}\u{1F9D5}\u{1FAC3}-\u{1FAC5}\u{1FAF0}\u{1FAF2}-\u{1FAF8}][\u{1F3FB}-\u{1F3FF}]?|[\u{1F3C3}\u{1F6B6}\u{1F9CE}][\u{1F3FB}-\u{1F3FF}]?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|[\u{1F3C4}\u{1F3CA}\u{1F46E}\u{1F470}\u{1F471}\u{1F473}\u{1F477}\u{1F481}\u{1F482}\u{1F486}\u{1F487}\u{1F645}-\u{1F647}\u{1F64B}\u{1F64D}\u{1F64E}\u{1F6A3}\u{1F6B4}\u{1F6B5}\u{1F926}\u{1F935}\u{1F937}-\u{1F939}\u{1F93D}\u{1F93E}\u{1F9B8}\u{1F9B9}\u{1F9CD}\u{1F9CF}\u{1F9D4}\u{1F9D6}-\u{1F9DD}][\u{1F3FB}-\u{1F3FF}]?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\u{1F46F}\u{1F9DE}\u{1F9DF}](?:\u200D[\u2640\u2642]\uFE0F?)?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50\u{1F0CF}\u{1F18E}\u{1F191}-\u{1F19A}\u{1F201}\u{1F21A}\u{1F22F}\u{1F232}-\u{1F236}\u{1F238}-\u{1F23A}\u{1F250}\u{1F251}\u{1F300}-\u{1F320}\u{1F32D}-\u{1F335}\u{1F337}-\u{1F343}\u{1F345}-\u{1F34A}\u{1F34C}-\u{1F37C}\u{1F37E}-\u{1F384}\u{1F386}-\u{1F393}\u{1F3A0}-\u{1F3C1}\u{1F3C5}\u{1F3C6}\u{1F3C8}\u{1F3C9}\u{1F3CF}-\u{1F3D3}\u{1F3E0}-\u{1F3F0}\u{1F3F8}-\u{1F407}\u{1F409}-\u{1F414}\u{1F416}-\u{1F425}\u{1F427}-\u{1F43A}\u{1F43C}-\u{1F43E}\u{1F440}\u{1F444}\u{1F445}\u{1F451}-\u{1F465}\u{1F46A}\u{1F479}-\u{1F47B}\u{1F47D}-\u{1F480}\u{1F484}\u{1F488}-\u{1F48E}\u{1F490}\u{1F492}-\u{1F4A9}\u{1F4AB}-\u{1F4FC}\u{1F4FF}-\u{1F53D}\u{1F54B}-\u{1F54E}\u{1F550}-\u{1F567}\u{1F5A4}\u{1F5FB}-\u{1F62D}\u{1F62F}-\u{1F634}\u{1F637}-\u{1F641}\u{1F643}\u{1F644}\u{1F648}-\u{1F64A}\u{1F680}-\u{1F6A2}\u{1F6A4}-\u{1F6B3}\u{1F6B7}-\u{1F6BF}\u{1F6C1}-\u{1F6C5}\u{1F6D0}-\u{1F6D2}\u{1F6D5}-\u{1F6D7}\u{1F6DC}-\u{1F6DF}\u{1F6EB}\u{1F6EC}\u{1F6F4}-\u{1F6FC}\u{1F7E0}-\u{1F7EB}\u{1F7F0}\u{1F90D}\u{1F90E}\u{1F910}-\u{1F917}\u{1F920}-\u{1F925}\u{1F927}-\u{1F92F}\u{1F93A}\u{1F93F}-\u{1F945}\u{1F947}-\u{1F976}\u{1F978}-\u{1F9B4}\u{1F9B7}\u{1F9BA}\u{1F9BC}-\u{1F9CC}\u{1F9D0}\u{1F9E0}-\u{1F9FF}\u{1FA70}-\u{1FA7C}\u{1FA80}-\u{1FA88}\u{1FA90}-\u{1FABD}\u{1FABF}-\u{1FAC2}\u{1FACE}-\u{1FADB}\u{1FAE0}-\u{1FAE8}]|\u26D3\uFE0F?(?:\u200D\u{1F4A5})?|\u2764\uFE0F?(?:\u200D[\u{1F525}\u{1FA79}])?|\u{1F1E6}[\u{1F1E8}-\u{1F1EC}\u{1F1EE}\u{1F1F1}\u{1F1F2}\u{1F1F4}\u{1F1F6}-\u{1F1FA}\u{1F1FC}\u{1F1FD}\u{1F1FF}]|\u{1F1E7}[\u{1F1E6}\u{1F1E7}\u{1F1E9}-\u{1F1EF}\u{1F1F1
|
||
|
|
string = 'U+0023 U+20E3 \u2192 #\u20E3\nU+0023 U+FE0F U+20E3 \u2192 #\uFE0F\u20E3\nU+002A U+20E3 \u2192 *\u20E3\nU+002A U+FE0F U+20E3 \u2192 *\uFE0F\u20E3\nU+0030 U+20E3 \u2192 0\u20E3\nU+0030 U+FE0F U+20E3 \u2192 0\uFE0F\u20E3\nU+0031 U+20E3 \u2192 1\u20E3\nU+0031 U+FE0F U+20E3 \u2192 1\uFE0F\u20E3\nU+0032 U+20E3 \u2192 2\u20E3\nU+0032 U+FE0F U+20E3 \u2192 2\uFE0F\u20E3\nU+0033 U+20E3 \u2192 3\u20E3\nU+0033 U+FE0F U+20E3 \u2192 3\uFE0F\u20E3\nU+0034 U+20E3 \u2192 4\u20E3\nU+0034 U+FE0F U+20E3 \u2192 4\uFE0F\u20E3\nU+0035 U+20E3 \u2192 5\u20E3\nU+0035 U+FE0F U+20E3 \u2192 5\uFE0F\u20E3\nU+0036 U+20E3 \u2192 6\u20E3\nU+0036 U+FE0F U+20E3 \u2192 6\uFE0F\u20E3\nU+0037 U+20E3 \u2192 7\u20E3\nU+0037 U+FE0F U+20E3 \u2192 7\uFE0F\u20E3\nU+0038 U+20E3 \u2192 8\u20E3\nU+0038 U+FE0F U+20E3 \u2192 8\uFE0F\u20E3\nU+0039 U+20E3 \u2192 9\u20E3\nU+0039 U+FE0F U+20E3 \u2192 9\uFE0F\u20E3\nU+00A9 \u2192 \xA9\nU+00A9 U+FE0F \u2192 \xA9\uFE0F\nU+00AE \u2192 \xAE\nU+00AE U+FE0F \u2192 \xAE\uFE0F\nU+203C \u2192 \u203C\nU+203C U+FE0F \u2192 \u203C\uFE0F\nU+2049 \u2192 \u2049\nU+2049 U+FE0F \u2192 \u2049\uFE0F\nU+2122 \u2192 \u2122\nU+2122 U+FE0F \u2192 \u2122\uFE0F\nU+2139 \u2192 \u2139\nU+2139 U+FE0F \u2192 \u2139\uFE0F\nU+2194 \u2192 \u2194\nU+2194 U+FE0F \u2192 \u2194\uFE0F\nU+2195 \u2192 \u2195\nU+2195 U+FE0F \u2192 \u2195\uFE0F\nU+2196 \u2192 \u2196\nU+2196 U+FE0F \u2192 \u2196\uFE0F\nU+2197 \u2192 \u2197\nU+2197 U+FE0F \u2192 \u2197\uFE0F\nU+2198 \u2192 \u2198\nU+2198 U+FE0F \u2192 \u2198\uFE0F\nU+2199 \u2192 \u2199\nU+2199 U+FE0F \u2192 \u2199\uFE0F\nU+21A9 \u2192 \u21A9\nU+21A9 U+FE0F \u2192 \u21A9\uFE0F\nU+21AA \u2192 \u21AA\nU+21AA U+FE0F \u2192 \u21AA\uFE0F\nU+231A \u2192 \u231A\nU+231A U+FE0F \u2192 \u231A\uFE0F\nU+231B \u2192 \u231B\nU+231B U+FE0F \u2192 \u231B\uFE0F\nU+2328 \u2192 \u2328\nU+2328 U+FE0F \u2192 \u2328\uFE0F\nU+23CF \u2192 \u23CF\nU+23CF U+FE0F \u2192 \u23CF\uFE0F\nU+23E9 \u2192 \u23E9\nU+23EA \u2192 \u23EA\nU+23EB \u2192 \u23EB\nU+23EC \u2192 \u23EC\nU+23ED \u2192 \u23ED\nU+23ED U+FE0F \u2192 \u23ED\uFE0F\nU+23EE \u2192 \u23EE\nU+23EE U+FE0F \u2192 \u23EE\uFE0F\nU+23EF \u2192 \u23EF\nU+23EF U+FE0F \u2192 \u23EF\uFE0F\nU+23F0 \u2192 \u23F0\nU+23F1 \u2192 \u23F1\nU+23F1 U+FE0F \u2192 \u23F1\uFE0F\nU+23F2 \u2192 \u23F2\nU+23F2 U+FE0F \u2192 \u23F2\uFE0F\nU+23F3 \u2192 \u23F3\nU+23F8 \u2192 \u23F8\nU+23F8 U+FE0F \u2192 \u23F8\uFE0F\nU+23F9 \u2192 \u23F9\nU+23F9 U+FE0F \u2192 \u23F9\uFE0F\nU+23FA \u2192 \u23FA\nU+23FA U+FE0F \u2192 \u23FA\uFE0F\nU+24C2 \u2192 \u24C2\nU+24C2 U+FE0F \u2192 \u24C2\uFE0F\nU+25AA \u2192 \u25AA\nU+25AA U+FE0F \u2192 \u25AA\uFE0F\nU+25AB \u2192 \u25AB\nU+25AB U+FE0F \u2192 \u25AB\uFE0F\nU+25B6 \u2192 \u25B6\nU+25B6 U+FE0F \u2192 \u25B6\uFE0F\nU+25C0 \u2192 \u25C0\nU+25C0 U+FE0F \u2192 \u25C0\uFE0F\nU+25FB \u2192 \u25FB\nU+25FB U+FE0F \u2192 \u25FB\uFE0F\nU+25FC \u2192 \u25FC\nU+25FC U+FE0F \u2192 \u25FC\uFE0F\nU+25FD \u2192 \u25FD\nU+25FE \u2192 \u25FE\nU+25FE U+FE0F \u2192 \u25FE\uFE0F\nU+2600 \u2192 \u2600\nU+2600 U+FE0F \u2192 \u2600\uFE0F\nU+2601 \u2192 \u2601\nU+2601 U+FE0F \u2192 \u2601\uFE0F\nU+2602 \u2192 \u2602\nU+2602 U+FE0F \u2192 \u2602\uFE0F\nU+2603 \u2192 \u2603\nU+2603 U+FE0F \u2192 \u2603\uFE0F\nU+2604 \u2192 \u2604\nU+2604 U+FE0F \u2192 \u2604\uFE0F\nU+260E \u2192 \u260E\nU+260E U+FE0F \u2192 \u260E\uFE0F\nU+2611 \u2192 \u2611\nU+2611 U+FE0F \u2192 \u2611\uFE0F\nU+2614 \u2192 \u2614\nU+2614 U+FE0F \u2192 \u2614\uFE0F\nU+2615 \u2192 \u2615\nU+2615 U+FE0F \u2192 \u2615\uFE0F\nU+2618 \u2192 \u2618\nU+2618 U+FE0F \u2192 \u2618\uFE0F\nU+261D \u2192 \u261D\nU+261D U+1F3FB \u2192 \u261D\uD83C\uDFFB\nU+261D U+1F3FC \u2192 \u261D\uD83C\uDFFC\nU+261D U+1F3FD \u2192 \u261D\uD83C\uDFFD\nU+261D U+1F3FE \u2192 \u261D\uD83C\uDFFE\nU+261D U+1F3FF \u2192 \u261D\uD83C\uDFFF\nU+261D U+FE0F \u2192 \u261D\uFE0F\nU+2620 \u2192 \u2620\nU+2620 U+FE0F \u2192 \u2620\uFE0F\nU+2622 \u2192 \u2622\nU+2622 U+FE0F \u2192 \u2622\uFE0F\nU+2623 \u2192 \u2623\nU+2623 U+FE0F \u2192 \u2623\uFE0F\nU+2626 \u2192 \u2626\nU+2626 U+FE0F \u2192 \u2626\uFE0F\nU+262A \u2192 \u262A\nU+262A U+FE0F \u2192 \u262A\uFE0F\nU
|
||
|
|
}
|
||
|
|
|
||
|
|
function Run() {
|
||
|
|
string.replace(re, (match) => { return '_'; });
|
||
|
|
}
|
||
|
|
|
||
|
|
var benchmarks = [ [ Run, Setup ] ];
|