BingsanBingsan
Performance

Performance

Performance optimization and tuning for Bingsan

Performance

Bingsan is optimized for high-throughput metadata operations with minimal memory overhead.

Overview

Bingsan implements several performance optimizations:

  • Object Pooling - Reuses memory buffers to reduce GC pressure
  • Distributed Locking - PostgreSQL-based locks with configurable timeouts
  • Optimized Serialization - Uses goccy/go-json for fast JSON encoding

Performance Targets

MetricTargetTypical
Table metadata serialization<50ms~10us
Large schema (100+ cols)<200ms~90us
Memory allocation reduction>=30%19-26%
GC pause (p99)<10ms<5ms
Pool hit rate>=80%~100%

Configuration

Pool and locking settings are configured in config.yaml:

catalog:
  lock_timeout: 30s
  lock_retry_interval: 100ms
  max_lock_retries: 100

Or via environment variables:

ICEBERG_CATALOG_LOCK_TIMEOUT=30s
ICEBERG_CATALOG_LOCK_RETRY_INTERVAL=100ms
ICEBERG_CATALOG_MAX_LOCK_RETRIES=100

Sections

On this page