Skip to content

v0.6.0: Multi-core Parallel Processing

Choose a tag to compare

@so2liu so2liu released this 28 Oct 15:12
· 12 commits to main since this release

What's New

  • Parallel layer downloads: Utilizes worker pool with auto-detected CPU cores (max 8 workers)
  • Parallel compression: Uses pgzip for multi-core gzip compression
  • Streaming memory: Processes up to 4 layers concurrently while maintaining low memory footprint
  • Performance improvement: 3-5x faster downloads, 2-4x faster compression for large images

Performance

For large images like vllm (22+ layers):

  • Multi-core CPU utilization instead of single-core bottleneck
  • Significantly reduced export time for first-time downloads
  • Improved throughput when using layer cache

Technical Details

  • New worker pool implementation in internal/image/layer_processor.go
  • Ordered buffer ensures correct layer sequence for tar format
  • Context-aware for proper cancellation support

Full changelog: v0.5.2...v0.6.0