Skip to content

Commit 0a489d6

Browse files
committed
update mitata & fix browser benchmark
1 parent 08a7fb6 commit 0a489d6

File tree

4 files changed

+116
-26
lines changed

4 files changed

+116
-26
lines changed

benchmark/grapheme/perf.js

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,8 @@ const isSystemRuntime = typeof process === 'object' || typeof Deno === 'object'
1212
const isWebWorker = !isSystemRuntime && typeof self === 'object';
1313

1414
if (isWebWorker) {
15+
// Init WASM module
1516
await unicodeSegmentation.default();
16-
17-
const defaultLog = console.log.bind(console);
18-
console.log = function(message) {
19-
self.postMessage({ type: 'log', message });
20-
defaultLog.apply(console, arguments);
21-
};
22-
23-
globalThis.process = {
24-
env: {
25-
NO_COLOR: true,
26-
},
27-
};
2817
}
2918

3019
const {
@@ -64,7 +53,7 @@ let testcases = [
6453
],
6554
[
6655
'Code snippet (combined)',
67-
`
56+
`
6857
// 'unicode-segmenter' 라이브러리를 사용한 유니코드 문자 분할 예제 코드 🚀
6958
7059
// ESM supported!
@@ -129,6 +118,12 @@ for (const [title, input] of testcases) {
129118

130119
await run({
131120
format: (!isWebWorker && process.env.MITATA_FORMAT) || 'mitata',
121+
...isWebWorker && {
122+
colors: false,
123+
print(s) {
124+
self.postMessage({ type: 'log', message: s });
125+
},
126+
},
132127
});
133128

134129
if (isWebWorker) {

benchmark/grapheme/vite.config.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { viteExternalsPlugin } from 'vite-plugin-externals';
2+
3+
export default {
4+
root: import.meta.dirname,
5+
optimizeDeps: {
6+
exclude: [
7+
'mitata',
8+
'bun:jsc',
9+
],
10+
},
11+
plugins: [
12+
viteExternalsPlugin({
13+
'bun:jsc': 'void 0',
14+
}),
15+
],
16+
};

package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@
102102
"perf:emoji": "node --expose-gc benchmark/emoji/perf.js",
103103
"perf:general": "node --expose-gc benchmark/general/perf.js",
104104
"perf:grapheme": "node --expose-gc benchmark/grapheme/perf.js",
105-
"perf:grapheme:browser": "vite benchmark/grapheme",
105+
"perf:grapheme:browser": "vite -c benchmark/grapheme/vite.config.js",
106106
"perf:grapheme:hermes": "node benchmark/grapheme/perf-hermes.js",
107107
"perf:grapheme:quickjs": "node benchmark/grapheme/perf-quickjs.js"
108108
},
@@ -114,7 +114,7 @@
114114
"@babel/plugin-transform-modules-commonjs": "^7.26.3",
115115
"@changesets/cli": "^2.27.11",
116116
"@formatjs/intl-segmenter": "11.5.7",
117-
"@mitata/counters": "^0.0.5",
117+
"@mitata/counters": "^0.0.8",
118118
"@react-native/metro-babel-transformer": "^0.76.5",
119119
"@types/babel__core": "^7.20.5",
120120
"@types/node": "^22.10.5",
@@ -126,13 +126,14 @@
126126
"grapheme-splitter": "1.0.4",
127127
"graphemer": "1.4.0",
128128
"metro": "^0.81.0",
129-
"mitata": "^1.0.26",
129+
"mitata": "^1.0.34",
130130
"os-browserify": "^0.3.0",
131131
"pretty-bytes": "^6.1.1",
132132
"rimraf": "^6.0.1",
133133
"typescript": "^5.7.3",
134134
"unicode-segmentation-wasm": "github:cometkim/unicode-segmentation-wasm#230eb74d320ea2f31f95b74ddb2567186d496587",
135135
"vite": "^6.0.7",
136+
"vite-plugin-externals": "^0.6.2",
136137
"xregexp": "5.1.1",
137138
"zx": "^8.3.0"
138139
},

yarn.lock

Lines changed: 88 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1957,10 +1957,10 @@ __metadata:
19571957
languageName: node
19581958
linkType: hard
19591959

1960-
"@mitata/counters@npm:^0.0.5":
1961-
version: 0.0.5
1962-
resolution: "@mitata/counters@npm:0.0.5"
1963-
checksum: 10c0/918ffc5a24de902a8d1201b21c8d1726f18cab6ada8800f5fa52a9e0a41a30dbab5173996a073d4d3a10dfd33ec8a049d3a410677fd268e91990170f8a2887b3
1960+
"@mitata/counters@npm:^0.0.8":
1961+
version: 0.0.8
1962+
resolution: "@mitata/counters@npm:0.0.8"
1963+
checksum: 10c0/e167d8b50b00c84395df277b226820231e4733d425a516adde1300fe0a6c25786e34fe32dc86ca8c0f90a681ff06ab858995c41d7c59ab148c7d3866097a0885
19641964
languageName: node
19651965
linkType: hard
19661966

@@ -2408,6 +2408,15 @@ __metadata:
24082408
languageName: node
24092409
linkType: hard
24102410

2411+
"acorn@npm:^8.4.0":
2412+
version: 8.14.0
2413+
resolution: "acorn@npm:8.14.0"
2414+
bin:
2415+
acorn: bin/acorn
2416+
checksum: 10c0/6d4ee461a7734b2f48836ee0fbb752903606e576cc100eb49340295129ca0b452f3ba91ddd4424a1d4406a98adfb2ebb6bd0ff4c49d7a0930c10e462719bbfd7
2417+
languageName: node
2418+
linkType: hard
2419+
24112420
"acorn@npm:^8.8.2":
24122421
version: 8.12.0
24132422
resolution: "acorn@npm:8.12.0"
@@ -3155,6 +3164,13 @@ __metadata:
31553164
languageName: node
31563165
linkType: hard
31573166

3167+
"es-module-lexer@npm:^0.4.1":
3168+
version: 0.4.1
3169+
resolution: "es-module-lexer@npm:0.4.1"
3170+
checksum: 10c0/6463778f04367979d7770cefb1969b6bfc277319e8437a39718b3516df16b1b496b725ceec96a2d24975837a15cf4d56838f16d9c8c7640ad13ad9c8f93ad6fc
3171+
languageName: node
3172+
linkType: hard
3173+
31583174
"esbuild@npm:^0.24.2":
31593175
version: 0.24.2
31603176
resolution: "esbuild@npm:0.24.2"
@@ -3431,6 +3447,17 @@ __metadata:
34313447
languageName: node
34323448
linkType: hard
34333449

3450+
"fs-extra@npm:^10.0.0":
3451+
version: 10.1.0
3452+
resolution: "fs-extra@npm:10.1.0"
3453+
dependencies:
3454+
graceful-fs: "npm:^4.2.0"
3455+
jsonfile: "npm:^6.0.1"
3456+
universalify: "npm:^2.0.0"
3457+
checksum: 10c0/5f579466e7109719d162a9249abbeffe7f426eb133ea486e020b89bc6d67a741134076bf439983f2eb79276ceaf6bd7b7c1e43c3fd67fe889863e69072fb0a5e
3458+
languageName: node
3459+
linkType: hard
3460+
34343461
"fs-extra@npm:^7.0.1":
34353462
version: 7.0.1
34363463
resolution: "fs-extra@npm:7.0.1"
@@ -4111,6 +4138,19 @@ __metadata:
41114138
languageName: node
41124139
linkType: hard
41134140

4141+
"jsonfile@npm:^6.0.1":
4142+
version: 6.1.0
4143+
resolution: "jsonfile@npm:6.1.0"
4144+
dependencies:
4145+
graceful-fs: "npm:^4.1.6"
4146+
universalify: "npm:^2.0.0"
4147+
dependenciesMeta:
4148+
graceful-fs:
4149+
optional: true
4150+
checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865
4151+
languageName: node
4152+
linkType: hard
4153+
41144154
"kind-of@npm:^6.0.2":
41154155
version: 6.0.3
41164156
resolution: "kind-of@npm:6.0.3"
@@ -4208,6 +4248,15 @@ __metadata:
42084248
languageName: node
42094249
linkType: hard
42104250

4251+
"magic-string@npm:^0.25.7":
4252+
version: 0.25.9
4253+
resolution: "magic-string@npm:0.25.9"
4254+
dependencies:
4255+
sourcemap-codec: "npm:^1.4.8"
4256+
checksum: 10c0/37f5e01a7e8b19a072091f0b45ff127cda676232d373ce2c551a162dd4053c575ec048b9cbb4587a1f03adb6c5d0fd0dd49e8ab070cd2c83a4992b2182d9cb56
4257+
languageName: node
4258+
linkType: hard
4259+
42114260
"make-dir@npm:^2.0.0, make-dir@npm:^2.1.0":
42124261
version: 2.1.0
42134262
resolution: "make-dir@npm:2.1.0"
@@ -4654,10 +4703,10 @@ __metadata:
46544703
languageName: node
46554704
linkType: hard
46564705

4657-
"mitata@npm:^1.0.26":
4658-
version: 1.0.26
4659-
resolution: "mitata@npm:1.0.26"
4660-
checksum: 10c0/8d596c1b7aea2968a9b5c22b4af1334451ff014e7ca76290ebf538c9f45d7876bcf0e353bc5c07978c1c0af06966875c364568497cb1eb9c843080df9d594ea4
4706+
"mitata@npm:^1.0.34":
4707+
version: 1.0.34
4708+
resolution: "mitata@npm:1.0.34"
4709+
checksum: 10c0/a78a0dd18203e47f444915e64e900e9686d5b6c53c461105f79a6b4795983a2f1fa573ce6fea697ebb29c31ff31b2e7e4f0ce072e0611e0313ebef274a0a5811
46614710
languageName: node
46624711
linkType: hard
46634712

@@ -5577,6 +5626,13 @@ __metadata:
55775626
languageName: node
55785627
linkType: hard
55795628

5629+
"sourcemap-codec@npm:^1.4.8":
5630+
version: 1.4.8
5631+
resolution: "sourcemap-codec@npm:1.4.8"
5632+
checksum: 10c0/f099279fdaae070ff156df7414bbe39aad69cdd615454947ed3e19136bfdfcb4544952685ee73f56e17038f4578091e12b17b283ed8ac013882916594d95b9e6
5633+
languageName: node
5634+
linkType: hard
5635+
55805636
"spawndamnit@npm:^3.0.1":
55815637
version: 3.0.1
55825638
resolution: "spawndamnit@npm:3.0.1"
@@ -5894,7 +5950,7 @@ __metadata:
58945950
"@babel/plugin-transform-modules-commonjs": "npm:^7.26.3"
58955951
"@changesets/cli": "npm:^2.27.11"
58965952
"@formatjs/intl-segmenter": "npm:11.5.7"
5897-
"@mitata/counters": "npm:^0.0.5"
5953+
"@mitata/counters": "npm:^0.0.8"
58985954
"@react-native/metro-babel-transformer": "npm:^0.76.5"
58995955
"@types/babel__core": "npm:^7.20.5"
59005956
"@types/node": "npm:^22.10.5"
@@ -5906,13 +5962,14 @@ __metadata:
59065962
grapheme-splitter: "npm:1.0.4"
59075963
graphemer: "npm:1.4.0"
59085964
metro: "npm:^0.81.0"
5909-
mitata: "npm:^1.0.26"
5965+
mitata: "npm:^1.0.34"
59105966
os-browserify: "npm:^0.3.0"
59115967
pretty-bytes: "npm:^6.1.1"
59125968
rimraf: "npm:^6.0.1"
59135969
typescript: "npm:^5.7.3"
59145970
unicode-segmentation-wasm: "github:cometkim/unicode-segmentation-wasm#230eb74d320ea2f31f95b74ddb2567186d496587"
59155971
vite: "npm:^6.0.7"
5972+
vite-plugin-externals: "npm:^0.6.2"
59165973
xregexp: "npm:5.1.1"
59175974
zx: "npm:^8.3.0"
59185975
languageName: unknown
@@ -5943,6 +6000,13 @@ __metadata:
59436000
languageName: node
59446001
linkType: hard
59456002

6003+
"universalify@npm:^2.0.0":
6004+
version: 2.0.1
6005+
resolution: "universalify@npm:2.0.1"
6006+
checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a
6007+
languageName: node
6008+
linkType: hard
6009+
59466010
"unpipe@npm:~1.0.0":
59476011
version: 1.0.0
59486012
resolution: "unpipe@npm:1.0.0"
@@ -5992,6 +6056,20 @@ __metadata:
59926056
languageName: node
59936057
linkType: hard
59946058

6059+
"vite-plugin-externals@npm:^0.6.2":
6060+
version: 0.6.2
6061+
resolution: "vite-plugin-externals@npm:0.6.2"
6062+
dependencies:
6063+
acorn: "npm:^8.4.0"
6064+
es-module-lexer: "npm:^0.4.1"
6065+
fs-extra: "npm:^10.0.0"
6066+
magic-string: "npm:^0.25.7"
6067+
peerDependencies:
6068+
vite: ">=2.0.0"
6069+
checksum: 10c0/7cfa34a02e8b4fe573c6bceca06c1a9127b24fcfb6456ce2b1caea3dc145cce4dda4be62afb299699f82ef315d8d90af800de76fa9e26ac35c145644279080bd
6070+
languageName: node
6071+
linkType: hard
6072+
59956073
"vite@npm:^6.0.7":
59966074
version: 6.0.7
59976075
resolution: "vite@npm:6.0.7"

0 commit comments

Comments
 (0)