|
2 | 2 |
|
3 | 3 | ## Summary
|
4 | 4 |
|
5 |
| -* Compared to swc, oxc transformer is 4x faster, uses 20% less memory, and is 35 MB smaller in package size (from swc's 37MB). |
6 |
| -* Compared to babel, oxc transformer is 40x faster, uses 70% less memory, and is 19 MB smaller with 168 npm packages less to install. |
7 |
| -<!-- * Compared to tsc's isolated declarations dts emit, oxc is x times faster. --> |
| 5 | +* For transform, oxc is 4x faster than swc, uses 20% less memory, and is 35 MB smaller in package size (from swc's 37MB). |
| 6 | +* For transform, oxc is 40x faster than babel, uses 70% less memory, and is 19 MB smaller with 168 npm packages less to install. |
| 7 | +* For react development + refresh, oxc is 6x faster than swc and 70x faster than Babel. |
| 8 | +* For tsc's isolated declarations dts emit, oxc is 45x faster on ordinary files, and 20x faster on larger files. |
8 | 9 |
|
9 | 10 | ## Transform / Transpile
|
10 | 11 |
|
11 | 12 | Oxc is 4x faster than swc, and 40x faster than Babel.
|
12 | 13 |
|
| 14 | +React development + refresh is 6x faster than swc and 70x faster Babel. |
| 15 | + |
13 | 16 | ### GitHub Actions `ubuntu-latest`
|
14 | 17 |
|
15 | 18 | ```
|
| 19 | + oxc - src/transform.bench.js > UserSettings.tsx |
| 20 | + 5.62x faster than swc |
| 21 | + 69.64x faster than babel |
| 22 | +
|
16 | 23 | oxc - src/transform.bench.js > parser.ts
|
17 |
| - 4.02x faster than swc |
18 |
| - 47.41x faster than babel |
| 24 | + 3.72x faster than swc |
| 25 | + 54.70x faster than babel |
19 | 26 |
|
20 | 27 | oxc - src/transform.bench.js > renderer.ts
|
21 |
| - 4.09x faster than swc |
22 |
| - 27.14x faster than babel |
| 28 | + 3.96x faster than swc |
| 29 | + 30.35x faster than babel |
23 | 30 |
|
24 | 31 | oxc - src/transform.bench.js > table.tsx
|
25 |
| - 4.63x faster than swc |
26 |
| - 44.04x faster than babel |
| 32 | + 4.54x faster than swc |
| 33 | + 59.54x faster than babel |
27 | 34 | ```
|
28 | 35 |
|
29 | 36 | ### MacBook Pro M3 Max
|
30 | 37 |
|
31 | 38 | ```
|
32 | 39 | oxc - src/transform.bench.js > UserSettings.tsx
|
33 |
| - 6.43x faster than swc |
34 |
| - 67.96x faster than babel |
| 40 | + 6.90x faster than swc |
| 41 | + 56.93x faster than babel |
| 42 | +
|
| 43 | + oxc - src/transform.bench.js > parser.ts |
| 44 | + 4.01x faster than swc |
| 45 | + 42.31x faster than babel |
| 46 | +
|
| 47 | + oxc - src/transform.bench.js > renderer.ts |
| 48 | + 3.76x faster than swc |
| 49 | + 27.47x faster than babel |
| 50 | +
|
| 51 | + oxc - src/transform.bench.js > table.tsx |
| 52 | + 3.94x faster than swc |
| 53 | + 33.74x faster than babel |
| 54 | +``` |
| 55 | + |
| 56 | +#### React Development + Refresh |
| 57 | + |
| 58 | +``` |
| 59 | + oxc - src/transform.bench.js > UserSettings.tsx |
| 60 | + 7.16x faster than swc |
| 61 | + 75.47x faster than babel |
35 | 62 |
|
36 | 63 | oxc - src/transform.bench.js > parser.ts
|
37 |
| - 3.55x faster than swc |
38 |
| - 44.01x faster than babel |
| 64 | + 4.03x faster than swc |
| 65 | + 51.63x faster than babel |
39 | 66 |
|
40 | 67 | oxc - src/transform.bench.js > renderer.ts
|
41 |
| - 3.62x faster than swc |
42 |
| - 24.58x faster than babel |
| 68 | + 3.86x faster than swc |
| 69 | + 33.55x faster than babel |
43 | 70 |
|
44 | 71 | oxc - src/transform.bench.js > table.tsx
|
45 |
| - 4.22x faster than swc |
46 |
| - 34.35x faster than babel |
| 72 | + 4.18x faster than swc |
| 73 | + 45.02x faster than babel |
47 | 74 | ```
|
48 | 75 |
|
49 | 76 | ## Isolated Declarations DTS Emit
|
50 | 77 |
|
51 |
| -Oxc is at least 5x faster than `tsc` on small files, and 20x faster on larger files. |
| 78 | +Oxc is 45x faster than `tsc` on ordinary files, and 20x faster on larger files. |
52 | 79 |
|
53 | 80 | ### GitHub Actions `ubuntu-latest`
|
54 | 81 |
|
55 | 82 | ```
|
| 83 | + oxc - src/id.bench.js > UserSettings.tsx |
| 84 | + 45.05x faster than tsc |
| 85 | +
|
56 | 86 | oxc - src/id.bench.js > parser.ts
|
57 |
| - 18.00x faster than tsc |
| 87 | + 20.42x faster than tsc |
58 | 88 |
|
59 | 89 | oxc - src/id.bench.js > renderer.ts
|
60 |
| - 22.37x faster than tsc |
| 90 | + 21.70x faster than tsc |
61 | 91 |
|
62 | 92 | oxc - src/id.bench.js > table.tsx
|
63 |
| - 8.06x faster than tsc |
| 93 | + 7.24x faster than tsc |
64 | 94 | ```
|
65 | 95 |
|
66 | 96 |
|
67 | 97 | ### MacBook Pro M3 Max
|
68 | 98 |
|
69 | 99 | ```
|
| 100 | + oxc - src/id.bench.js > UserSettings.tsx |
| 101 | + 37.16x faster than tsc |
| 102 | +
|
70 | 103 | oxc - src/id.bench.js > parser.ts
|
71 |
| - 20.15x faster than tsc |
| 104 | + 19.08x faster than tsc |
72 | 105 |
|
73 | 106 | oxc - src/id.bench.js > renderer.ts
|
74 |
| - 19.85x faster than tsc |
| 107 | + 18.05x faster than tsc |
75 | 108 |
|
76 | 109 | oxc - src/id.bench.js > table.tsx
|
77 |
| - 5.09x faster than tsc |
| 110 | + 4.40x faster than tsc |
78 | 111 | ```
|
79 | 112 |
|
80 | 113 | ### Memory Usage
|
|
0 commit comments