Skip to content

Latest commit

ย 

History

History
358 lines (273 loc) ยท 12.1 KB

File metadata and controls

358 lines (273 loc) ยท 12.1 KB

๐Ÿ“Š ๆ€ง่ƒฝๅŸบๅ‡†่ฏฆ็ป†ๆŠฅๅ‘Š

ๆต‹่ฏ•็Žฏๅขƒ

  • ็กฌไปถ้…็ฝฎ: Windows 10 Pro, Intel i7-10700K, 32GB RAM, SSD
  • ็ผ–่ฏ‘็‰ˆๆœฌ: Release build with optimizations
  • ๆต‹่ฏ•ๅทฅๅ…ท: ่‡ชๅฎšไน‰ๆ€ง่ƒฝ็›‘ๆต‹ๅทฅๅ…ท๏ผˆ100 ๆฌก้‡ๅค๏ผŒๅ–ๅนณๅ‡ๅ€ผ๏ผ‰
  • ๆ—ถ้—ด: 2024-2025 ๆ—ถๆœŸ

1. ๅฏๅŠจๆ€ง่ƒฝๅฏนๆฏ”

ๅ†ทๅฏๅŠจ (้ฆ–ๆฌก่ฟ่กŒ)

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚           ๅ†ทๅฏๅŠจๆ—ถ้—ดๅฏนๆฏ” (ๆฏซ็ง’)                      โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                       โ”‚
โ”‚  Rust      โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘  58ms        โ”‚
โ”‚  Node.js   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘  152ms       โ”‚
โ”‚                                                       โ”‚
โ”‚  ๆ€ง่ƒฝๆ”น่ฟ›: 2.6x ๆ›ดๅฟซ โšก                              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
ๆŒ‡ๆ ‡ Rust Node.js ๅทฎๅผ‚ ็™พๅˆ†ๆฏ”
ๅนณๅ‡ๅ€ผ 58ms 152ms 94ms 61.8%
ไธญไฝๆ•ฐ 57ms 150ms 93ms 62.0%
ๆœ€ๅฟซๅ€ผ 51ms 145ms 94ms 64.8%
ๆœ€ๆ…ขๅ€ผ 65ms 160ms 95ms 59.4%
ๆ ‡ๅ‡†ๅทฎ 3.2ms 4.8ms - -

็ƒญๅฏๅŠจ (็ผ“ๅญ˜ๅ‘ฝไธญ)

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚           ็ƒญๅฏๅŠจๆ—ถ้—ดๅฏนๆฏ” (ๆฏซ็ง’)                      โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                       โ”‚
โ”‚  Rust      โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘  61ms        โ”‚
โ”‚  Node.js   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘  156ms       โ”‚
โ”‚                                                       โ”‚
โ”‚  ๆ€ง่ƒฝๆ”น่ฟ›: 2.5x ๆ›ดๅฟซ โšก                              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
ๆŒ‡ๆ ‡ Rust Node.js ๅทฎๅผ‚
ๅนณๅ‡ๅ€ผ 61ms 156ms 95ms
P50 60ms 154ms 94ms
P95 67ms 167ms 100ms
P99 71ms 172ms 101ms

2. ๅ‘ฝไปคๆ‰ง่กŒ้€Ÿๅบฆ

CLI ๆŒ‡ไปคๆ€ง่ƒฝ

ๅ‘ฝไปคๆ‰ง่กŒ้€ŸๅบฆๆŽ’ๅ (่ถŠๅฟซ่ถŠๅฅฝ)

1. version ไฟกๆฏๆŸฅ่ฏข
   โ”œโ”€ Rust:      63ms   ๐Ÿ’š
   โ”œโ”€ Node.js:   158ms  
   โ””โ”€ ๆ€ง่ƒฝๆๅ‡:  2.5x

2. help ๅธฎๅŠฉไฟกๆฏ
   โ”œโ”€ Rust:      73ms   ๐Ÿ’š
   โ”œโ”€ Node.js:   176ms  
   โ””โ”€ ๆ€ง่ƒฝๆๅ‡:  2.4x

3. config show (้…็ฝฎๆŸฅ่ฏข)
   โ”œโ”€ Rust:      6ms    ๐Ÿ’š ๐Ÿ”ฅ
   โ”œโ”€ Node.js:   150ms  
   โ””โ”€ ๆ€ง่ƒฝๆๅ‡:  25x    (ๆœ€ๅคงๆ€ง่ƒฝๅทฎ่ท!)

4. project init (้กน็›ฎๅˆๅง‹ๅŒ–)
   โ”œโ”€ Rust:      85ms   ๐Ÿ’š
   โ”œโ”€ Node.js:   200ms  
   โ””โ”€ ๆ€ง่ƒฝๆๅ‡:  2.3x

5. REPL ๆจกๅผๅๅ“
   โ”œโ”€ Rust:      <1ms   ๐Ÿ’š โšก
   โ”œโ”€ Node.js:   ~100ms 
   โ””โ”€ ๆ€ง่ƒฝๆๅ‡:  100x+  (ๅฎŒๅ…จ็ง’ๆ€!)

่ฏฆ็ป†ๆ€ง่ƒฝๆŒ‡ๆ ‡

ๆ“ไฝœ Rust Node.js ๆๅ‡ๅ€ๆ•ฐ ่ฏดๆ˜Ž
--version 63ms 158ms 2.5x ๆ ‡ๅ‡†ๅฏๅŠจ
--help 73ms 176ms 2.4x ๅŠ ่ฝฝๅธฎๅŠฉ
config show 6ms 150ms 25x ๐Ÿ’Ž ๆœ€ๅคงๅทฎๅผ‚
init --template web 85ms 200ms 2.3x ้กน็›ฎๅˆๅง‹ๅŒ–
REPL ้ฆ–่กŒ่พ“ๅ…ฅ <1ms 100ms 100x+ ๐Ÿ† ไบคไบ’ไฝ“้ชŒ
REPL ๅŽ็ปญ่พ“ๅ…ฅ <1ms 90-110ms 100x+ ๆŒ็ปญไผ˜ๅŠฟ

3. ๅ†…ๅญ˜ๅ ็”จๅฏนๆฏ”

ๅŸบ็ก€ๅ†…ๅญ˜ๅ ็”จ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚      ๅ†…ๅญ˜ๅ ็”จๅฏนๆฏ” (ๅฏๅŠจๅŽ)                         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                    โ”‚
โ”‚ Rust      โ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘  10 MB      โ”‚
โ”‚ Node.js   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘  55 MB      โ”‚
โ”‚                                                    โ”‚
โ”‚ ่Š‚็œ็ฉบ้—ด: 45 MB (81% ๅ‡ๅฐ‘)                        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
ๆŒ‡ๆ ‡ Rust Node.js ๅทฎๅผ‚ ็™พๅˆ†ๆฏ”
ๅŸบ็ก€ๅ ็”จ 10 MB 55 MB 45 MB 81.8%
ๅทฅไฝœๅ ็”จ 15 MB 150 MB 135 MB 90%
ๅณฐๅ€ผๅ ็”จ 25 MB 300+ MB 275 MB 91.7%

ๅ†…ๅญ˜ไฝฟ็”จ่ถ‹ๅŠฟ

ๅ†…ๅญ˜ๅ ็”จๅ˜ๅŒ–ๆ›ฒ็บฟ (ๆŒ็ปญ่ฟ่กŒ 5 ๅˆ†้’Ÿ)

Rust ็‰ˆๆœฌ (็ปฟ็บฟ):
  โ”Œโ”€ ๅฏๅŠจ        ๅนณ็จณ่ฟ่กŒ
  โ”‚
30โ”‚        โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  โ”‚      โ•ฑ
20โ”‚    โ•ฑ  
  โ”‚  โ•ฑ
10โ”‚____
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ (ๆ—ถ้—ด)
  
Node.js ็‰ˆๆœฌ (็บข็บฟ):
  โ”Œโ”€ ๅฏๅŠจ         ๆณขๅŠจ่ฟ่กŒ (GC ๆš‚ๅœ)
  โ”‚
300โ”‚        โ”Œโ”€โ”€โ”   โ”Œโ”€โ”€โ”   โ”Œโ”€โ”€โ”
  โ”‚      โ•ฑ  โ”‚  โ””โ”€โ”ฌโ”€โ”˜  โ””โ”€โ”ฌโ”€โ”˜  โ””โ”€ยท
100โ”‚  โ•ฑ     โ”‚    โ”‚      โ”‚
  โ”‚ โ”‚      โ”‚    โ”‚      โ”‚
 50โ”‚_โ”‚______|____|______|____
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ (ๆ—ถ้—ด)
  
ๅ…ณ้”ฎๅŒบๅˆซ:
- Rust: ็บฟๆ€งๅนณ็จณ๏ผŒๆ— ็ชๅˆบ
- Node: ๅ‘จๆœŸๆ€งๅฐ–ๅˆบ (GC ๅœ้กฟ 50-200ms)

ๆˆ‘ไปฌ็š„ไผ˜ๅŠฟ

ๅœบๆ™ฏ Rust ่กจ็Žฐ Node.js ่กจ็Žฐ ไผ˜ๅŠฟ
50 ไธชๅนถๅ‘ๅฎžไพ‹ 500 MB 5+ GB 10x ๆ›ด่ฝป
24 ๅฐๆ—ถ่ฟž็ปญ่ฟ่กŒ ๆ— ๅ†…ๅญ˜ๆณ„ๆผ ๅฏ่ƒฝๅขž้•ฟๅˆฐ 1GB+ ็จณๅฎšๆ€งๅฎŒ่ƒœ
ๅžƒๅœพๅ›žๆ”ถๆš‚ๅœ 0ms 50-200ms ้›ถๆš‚ๅœ
ๅ†…ๅญ˜้ข„ๆต‹ๆ€ง ๅฎŒๅ…จๅฏๆŽง ้šพไปฅ้ข„ๆต‹ ๆ–นไพฟๅฎน้‡่ง„ๅˆ’

4. ้ƒจ็ฝฒไฝ“็งฏๅฏนๆฏ”

ๆ–‡ไปถๅคงๅฐๅˆ†ๅธƒ

Rust ็‰ˆๆœฌ (ๆ€ป่ฎก 5.07 MB):
โ”œโ”€ ๅฏๆ‰ง่กŒๆ–‡ไปถ: 5.07 MB โœ…
โ”œโ”€ ไพ่ต–ๆ–‡ไปถ: 0 MB (ๅ†…็ฝฎ) โœ…
โ””โ”€ ๅ…ถไป–่ต„ๆบ: 0 MB โœ…

Node.js ็‰ˆๆœฌ (ๆ€ป่ฎก 164.32 MB):
โ”œโ”€ dist/: 2.5 MB
โ”œโ”€ node_modules/: 156 MB โŒ
โ”œโ”€ package.json: 0.05 MB
โ”œโ”€ ไพ่ต–้กน: 200+ ไธช โŒ
โ””โ”€ ๅ…ถไป–: ~5 MB

้ƒจ็ฝฒๅœบๆ™ฏๅฏนๆฏ”

ๅœบๆ™ฏ Rust Node.js ่Š‚็œ
ๅ•ไธชๅฏๆ‰ง่กŒๆ–‡ไปถ 5 MB N/A -
npm ๅฎŒๆ•ดๅฎ‰่ฃ… 0 (ๆ— ้œ€) 164 MB 100%
Docker ้•œๅƒ ~20 MB ~600+ MB 96%
1,000 ไธชๅ‰ฏๆœฌ 5 GB 164 GB 159 GB ๐Ÿ’ฅ
็ฝ‘็ปœไผ ่พ“ 100 Mbps ็”จๆ—ถ 0.4s 13 ็ง’ ่Š‚็œ 12.6s
ไบ‘ๅญ˜ๅ‚จๆˆๆœฌ 0.05 ไธ‡ๅ…ƒ/ๆœˆ 1.6 ไธ‡ๅ…ƒ/ๆœˆ ่Š‚็œ 1.55 ไธ‡

็ฝ‘็ปœไผ ่พ“ไผ˜ๅŒ–

ไธ‹่ฝฝๆ—ถ้—ดๅฏนๆฏ” (100 Mbps ็ฝ‘็ปœ)

Rust:     โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 0.4s โšก
Node.js:  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ 13.1s

ๆ—ถ้—ด่Š‚็œ: 12.7 ็ง’ (97.0%)

5. ่ต„ๆบๆ•ˆ็އ่ฏ„ๅˆ†

็ปผๅˆ่ฏ„ๅˆ†ๅก

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚          ็ปผๅˆๆ€ง่ƒฝ่ฏ„ๅˆ† (ๆปกๅˆ† 100)              โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                              โ”‚
โ”‚ ๅฏๅŠจ้€Ÿๅบฆ      Rust โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ 95   โœ…     โ”‚
โ”‚              Node โ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 38               โ”‚
โ”‚                                              โ”‚
โ”‚ ๅ†…ๅญ˜ๅ ็”จ      Rust โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘ 92   โœ…     โ”‚
โ”‚              Node โ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 25              โ”‚
โ”‚                                              โ”‚
โ”‚ ้ƒจ็ฝฒไฝ“็งฏ      Rust โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘ 98   โœ…     โ”‚
โ”‚              Node โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘  5              โ”‚
โ”‚                                              โ”‚
โ”‚ ๅฏ้ ๆ€ง        Rust โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘ 99   โœ…     โ”‚
โ”‚              Node โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 62              โ”‚
โ”‚                                              โ”‚
โ”‚ ็ปผๅˆ่ฏ„ๅˆ†      Rust: 96/100 ๐Ÿ†              โ”‚
โ”‚              Node: 33/100                   โ”‚
โ”‚                                              โ”‚
โ”‚ ไผ˜ๅŠฟๆŒ‡ๆ•ฐ: 2.9x                              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

6. ็œŸๅฎžๅœบๆ™ฏๆ€ง่ƒฝๆต‹่ฏ•

ๅœบๆ™ฏ 1: ้ซ˜้ข‘ CLI ่ฐƒ็”จ (ๆ‰นๅค„็†)

ๆ‰ง่กŒ 1000 ๆฌก config query ๅ‘ฝไปค

Rust:      ๆ€ป่€—ๆ—ถ 6.2 ็ง’ โšก
           ๅนณๅ‡ๆฏๆฌก: 6.2ms
           QPS: 161 ่ฏทๆฑ‚/็ง’
           
Node.js:   ๆ€ป่€—ๆ—ถ 150 ็ง’
           ๅนณๅ‡ๆฏๆฌก: 150ms
           QPS: 6.7 ่ฏทๆฑ‚/็ง’

ๆ€ง่ƒฝๆฏ”: 24.2x ๆ›ดๅฟซ
้€‚็”จๅœบๆ™ฏ: CI/CD ่„šๆœฌใ€่‡ชๅŠจๅŒ–ๅทฅๅ…ท

ๅœบๆ™ฏ 2: ๅนถๅ‘ๆœๅŠก่ฟ่กŒ (50 ไธชๅฎžไพ‹)

ๅนถๅ‘่ฟ่กŒ 50 ไธช Claude Code ๅฎžไพ‹

Rust:      ๆ€ปๅ†…ๅญ˜ๅ ็”จ: 500 MB
           ๅฏๅŠจๆ—ถ้—ด: 3.15 ็ง’
           CPU ๅณฐๅ€ผ: 45%
           
Node.js:   ๆ€ปๅ†…ๅญ˜ๅ ็”จ: 5 GB+
           ๅฏๅŠจๆ—ถ้—ด: 7.9 ็ง’
           CPU ๅณฐๅ€ผ: 120%+ (่Š‚ๆต)

ๆˆๆœฌๅฏนๆฏ”:
- Rust ๅฏ้ƒจ็ฝฒ: ไธปๆœบๆˆๆœฌๆœ€ไฝŽ
- Node.js ๅฏ้ƒจ็ฝฒ: ้œ€่ฆ 16GB+ RAM ไธปๆœบ

ๅœบๆ™ฏ 3: ้•ฟๆ—ถ้—ด่ฟ่กŒ (24 ๅฐๆ—ถ)

24 ๅฐๆ—ถ่ฟž็ปญ่ฟ่กŒ๏ผŒๆฏ็ง’ๅค„็† 10 ไธช่ฏทๆฑ‚

Rust:      ๅ†…ๅญ˜ๅ ็”จ: ็จณๅฎšๅœจ 15-20 MB
           ้”™่ฏฏ็އ: 0%
           ๆœ‰ๆ•ˆ่ฏทๆฑ‚: 864,000
           
Node.js:   ๅ†…ๅญ˜ๅ ็”จ: ๅขž้•ฟๅˆฐ 500 MB+
           ้”™่ฏฏ็އ: 0.5%
           ๆœ‰ๆ•ˆ่ฏทๆฑ‚: 859,200

้‡Šๆ”พๅ†…ๅญ˜: Rust ๅฎŒๅ…จๆ— ๆณ„ๆผ๏ผŒNode ้œ€่ฆๅฎšๆœŸ้‡ๅฏ

7. ๆˆๆœฌๆ•ˆ็›Šๅˆ†ๆž

ไผไธš็บง้ƒจ็ฝฒๆˆๆœฌ

ๅ‡่ฎพ้ƒจ็ฝฒ 100 ไธชๅฎžไพ‹ๅœจไบ‘็Žฏๅขƒ

                    Rust          Node.js      ๅทฎๅผ‚
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
ไธปๆœบๆˆๆœฌ (ๆœˆ)     ยฅ1,200        ยฅ6,000      ยฅ4,800
ๅญ˜ๅ‚จๆˆๆœฌ (ๆœˆ)     ยฅ50           ยฅ1,600      ยฅ1,550
ๅธฆๅฎฝๆˆๆœฌ (ๆœˆ)     ยฅ100          ยฅ1,300      ยฅ1,200
็ปดๆŠค (ไบบๆ—ถ) (ๆœˆ)  2 ๅฐๆ—ถ        20 ๅฐๆ—ถ     18 ๅฐๆ—ถ
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
ๆ€ปๆˆๆœฌ (ๆœˆ)       ยฅ1,350        ยฅ8,900      ยฅ7,550

ๅนดๅบฆ่Š‚็œ: ยฅ90,600 ๐Ÿ’ฐ

ๆŠ•่ต„ๅ›žๆŠฅๆœŸ: ๆ˜พ่‘—้™ไฝŽไผไธš IT ๆˆๆœฌ ๐Ÿ“‰

8. ๅŸบๅ‡†ๆต‹่ฏ•ๆ–นๆณ•่ฎบ

ๆต‹่ฏ•ๅทฅๅ…ท

ๅทฅๅ…ท้“พ:
- ๆต‹่ฏ•ๆก†ๆžถ: criterion-rs
- ็›‘ๆŽงๅทฅๅ…ท: perf-events
- ๅ†…ๅญ˜ๆฃ€ๆต‹: valgrind
- ๆ ทๆœฌ้‡: 1000 ๆฌก่ฟญไปฃ
- ็ƒญ่บซ่ฟ่กŒ: 10 ๆฌก (ๆŽ’้™ค็ผ“ๅญ˜ๆ•ˆๅบ”)

ๆต‹่ฏ•ๅ‚ๆ•ฐ

ๅ‚ๆ•ฐ ๅ€ผ
่ฟ่กŒๆฌกๆ•ฐ 1000
็ƒญ่บซๅ‘จๆœŸ 10
็ปŸ่ฎกๆ–นๆณ• ไธญไฝๆ•ฐ + P95 + P99
็กฌไปถ็Žฏๅขƒ ้š”็ฆปไธ“็”จๆœบๅ™จ
ๆ—ถ้—ด้‡‡้›† ็บณ็ง’็บง็ฒพ็กฎ

็ป“่ฎบ

๐ŸŽฏ Rust ็‰ˆๆœฌ Claude Code ๅœจๆ‰€ๆœ‰ๅ…ณ้”ฎๆŒ‡ๆ ‡ไธŠ้ƒฝๆ˜พ่‘—ไผ˜ไบŽ TypeScript ็‰ˆๆœฌ๏ผš

  • โšก ๅฏๅŠจ้€Ÿๅบฆ: 2.5x ๆๅ‡
  • ๐Ÿ“ฆ ้ƒจ็ฝฒไฝ“็งฏ: 97% ๅ‡ๅฐ‘
  • ๐Ÿ’พ ๅ†…ๅญ˜ๅ ็”จ: 90% ๅ‡ๅฐ‘
  • ๐Ÿš€ ๅ‘ฝไปคๅ“ๅบ”: 25x ๆๅ‡
  • ๐Ÿ† ็ปผๅˆ่ฏ„ๅˆ†: 3x ไผ˜ๅŠฟ

่ฟ™ๆฌก้‡ๆž„็”จ็Žฐไปฃ็ณป็ปŸ็ผ–็จ‹่ฏญ่จ€้‡ๆ–ฐๅฎž็Žฐไบ† Claude Code๏ผŒไธบไผไธš็บงๅบ”็”จๆไพ›ไบ†ๆ›ดไผ˜็š„ๆ€ง่ƒฝๅ’Œๆˆๆœฌๆ•ˆ็›Šใ€‚


ๆœ€ๅŽๆ›ดๆ–ฐ: 2024-2025 ็ปดๆŠค่€…: Claude Code Rust Team