Skip to content

Instantly share code, notes, and snippets.

@ilyar
Last active February 3, 2026 22:28
Show Gist options
  • Select an option

  • Save ilyar/7d24dc5329301463907a4c8ffd442548 to your computer and use it in GitHub Desktop.

Select an option

Save ilyar/7d24dc5329301463907a4c8ffd442548 to your computer and use it in GitHub Desktop.

Cell research

benchmark @ton/core vs @incubare/cell

> @incubare/cell@1.0.0-alpha.0 benchmark
> npx tsx benchmark.ts

=== @incubare/cell ===

Iterations: 100,000
Initializing @incubare/cell...

1. Create empty cell
  @incubare/cell            9.25 ms total,      0.09 µs/op
  @ton/core               502.21 ms total,      5.02 µs/op
   → 54.3x faster

2. Store uint32 + uint8
  @incubare/cell           20.70 ms total,      0.21 µs/op
  @ton/core               612.48 ms total,      6.12 µs/op
   → 29.6x faster

3. Store uint32 + Read back
  @incubare/cell           26.63 ms total,      0.27 µs/op
  @ton/core               704.59 ms total,      7.05 µs/op
   → 26.5x faster

4. Store 10 bytes (80 bits)
  @incubare/cell           40.75 ms total,      0.41 µs/op
  @ton/core               580.01 ms total,      5.80 µs/op
   → 14.2x faster

5. Cell with 2 refs
  @incubare/cell           21.10 ms total,      0.21 µs/op
  @ton/core              2072.36 ms total,     20.72 µs/op
   → 98.2x faster

6. Store 256 bits (32 bytes)
  @incubare/cell          122.52 ms total,      1.23 µs/op
  @ton/core               888.58 ms total,      8.89 µs/op
   → 7.3x faster

7. Large data structure (~512KB via cell tree)
  @incubare/cell         2005.45 ms total,     20.05 ms/op
  @ton/core             14344.38 ms total,    143.44 ms/op
   → 7.2x faster

8. Account State Max (8MB)
  @incubare/cell         3498.66 ms total,    349.87 ms/op
  @ton/core             23831.63 ms total,   2383.16 ms/op
   → 6.8x faster

9. Hash calculation (simple cell)
  @incubare/cell          161.23 ms total,      1.61 µs/op
  @ton/core               623.57 ms total,      6.24 µs/op
   → 3.9x faster

10. Hash calculation (cell with refs)
  @incubare/cell          357.92 ms total,      3.58 µs/op
  @ton/core              2098.45 ms total,     20.98 µs/op
   → 5.9x faster

11. Depth calculation (nested tree)
  @incubare/cell            3.76 ms total,      0.38 µs/op
  @ton/core               371.26 ms total,     37.13 µs/op
   → 98.6x faster


╔══════════════════════════════════════════════════════════════════╗
║                          SUMMARY                                 ║
╚══════════════════════════════════════════════════════════════════╝


@incubare/cell:  6267.97 ms
@ton/core:       46629.53 ms

Overall: 7.4x faster

@incubare/cell binary size: 5780 bytes

Performance by category:
  Small ops (empty, uint):  29.6x faster
  Medium ops (10-32 bytes): 14.2x faster
  References:               98.2x faster
  Large structures (512KB): 7.2x faster
  Max Account State (8MB):  6.8x faster
  Hash (simple):            3.9x faster
  Hash (with refs):         5.9x faster
  Depth (nested):           98.6x faster
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment