본문으로 건너뛰기
cccskills
무료GitHub에 공개

benchmark <<<<<<< HEAD

Run and interpret engine-stack benchmarks (Steel, ember, shale)

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(2)

  • SKILL.md6.3 KB
  • CONCOMITANT_SKILLS.md5.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Project Engines Benchmark Skill

======= description: Run and interpret basin-engines benchmarks (Steel, ember, shale) model: haiku

Basin Engines Benchmark Skill

origin/main

Run benchmarks for Steel, ember, and shale engines.

CRITICAL: Read Before Benchmarking

<<<<<<< HEAD ALWAYS read first: ~/p/benchmark-suite/docs/BENCHMARK_FAIRNESS.md

ALWAYS read first: ~/p/basin-bench/docs/BENCHMARK_FAIRNESS.md

origin/main

This document contains hard-won lessons about benchmark fairness. Ignoring it leads to misleading claims.

Pre-Benchmark Checklist

CheckWhyHow
<<<<<<< HEAD
Read BENCHMARK_FAIRNESS.mdContains all fairness lessonscat ~/p/benchmark-suite/docs/BENCHMARK_FAIRNESS.md
=======
Read BENCHMARK_FAIRNESS.mdContains all fairness lessonscat ~/p/basin-bench/docs/BENCHMARK_FAIRNESS.md

origin/main | Use --batched for LMDB/redb | 7-24x improvement with proper config | Add --batched --batch-size 1000 | | Scale sled cache | Undersized cache = 17x slower | Add --cache-mb 2048 for 1M+ records | | Check dataset vs RAM | If data fits in RAM, you're measuring memory | Use larger datasets for I/O testing |

Note: Steel uses verify-once checksums (like RocksDB/WiredTiger) - verify on first read from disk, then trust page cache. Use FileLayoutConfig::fast() to disable checksums entirely for ZFS/ECC storage.

Quick Commands

Steel (Oak engine)

# Build
<<<<<<< HEAD
cd ~/p/benchmark-suite && graft build --release -p ycsb-steel
=======
cd ~/p/basin-bench && graft build --release -p ycsb-steel
>>>>>>> origin/main

# Single-threaded
ycsb-steel --fast --data-dir /tmp/bench --workload a --records 50000 --ops 200000

# Multi-threaded with sharding
ycsb-steel --fast --shards 64 --threads 4 --data-dir /tmp/bench --workload a --records 50000 --ops 200000

# Ultimate adversarial benchmark (vs sled)
<<<<<<< HEAD
cd ~/p/engine-stack/engines/steel
=======
cd ~/p/basin-engines/engines/steel
>>>>>>> origin/main
graft run --release --example ultimate_adversarial

Fair 4-Engine Comparison

# Use the fair comparison script (includes proper batching for all engines)
<<<<<<< HEAD
RECORDS=50000 OPS=200000 ~/p/benchmark-suite/scripts/steel-fair-compare.sh
=======
RECORDS=50000 OPS=200000 ~/p/basin-bench/scripts/steel-fair-compare.sh
>>>>>>> origin/main

Individual Engine Commands (Fair Config)

# Steel
ycsb-steel --fast --workload a --records 50000 --ops 200000 --data-dir /tmp/bench

# sled (scaled cache)
ycsb-sled --high-throughput --cache-mb 256 --workload a --records 50000 --ops 200000 --data-dir /tmp/bench

# LMDB (batched + nosync)
ycsb-lmdb --batched --nosync --batch-size 1000 --workload a --records 50000 --ops 200000 --data-dir /tmp/bench

# redb (batched)
ycsb-redb --batched --batch-size 1000 --workload a --records 50000 --ops 200000 --data-dir /tmp/bench

Steel Results (2025-12-23) - Steel Wins All

Steel now beats LMDB on ALL workloads!

WorkloadSteelLMDBredbsledWinner
A (writes)2.49M2.24M687K744KSteel +11%
B (reads)3.01M2.90M2.05M1.55MSteel +3.8%
C (pure read)3.03M1.79M1.05M1.81MSteel +69%

Optimizations That Closed the Gap

Implemented (see docs/STEEL_OPTIMIZATIONS.md):

  • get_ref() +8.4% - zero-copy reads (KEY WIN)
  • get_cached_epoch() +1% - thread-local epoch
  • get_fast() - seqlock skip (no gain, kept for API)

Gap closed! Previous 43% gap on Workload B eliminated via zero-copy optimization.

Where Steel Actually Wins

ScenarioSteel AdvantageNotes
Write-heavy (Workload A)1.07x vs LMDBCOW efficiency
Pure reads (Workload C)1.52x vs LMDBZero-copy mmap
Cold reads after restart3x vs sledNo log replay
Range scans3.4x vs sledCOW pages
Simplicity~6K LOC vs 20K+Easier to understand/debug

Sharded Write Performance (2025-12-25)

With 64 shards, Steel beats sled by 2.3x:

WritersShardsSteel writes/svs sled
1163.0M149%
46410.8M230%
86416.8M237%

Where Steel Does NOT Win

ScenarioWinnerNotes
Multi-key transactionsredb/LMDBSteel has single-key atomicity only
30+ years production hardeningLMDBEcosystem maturity

Common Mistakes (Avoid These)

MistakeWhat HappensFix
Benchmark LMDB without --batched7.9x slowerUse --batched --batch-size 1000
Benchmark redb without --batched24x slowerUse --batched --batch-size 1000
Claim "47x faster than redb"MisleadingFair comparison is ~1.9x
Small dataset (50MB)Memory-bound, not I/OUse 500MB+ for I/O testing
Forget to clear between enginesCache effectsSleep or clear page cache

Key Files

PurposeLocation
<<<<<<< HEAD
Steel YCSB~/p/benchmark-suite/engines/ycsb-steel/
Fair script~/p/benchmark-suite/scripts/steel-fair-compare.sh
Fairness docs~/p/benchmark-suite/docs/BENCHMARK_FAIRNESS.md
Steel benchmarks~/p/engine-stack/engines/steel/BENCHMARKS.md
Roadmap to #1~/p/engine-stack/engines/steel/ROADMAP_BEST_KV.md
Ultimate adversarial~/p/engine-stack/engines/steel/examples/ultimate_adversarial.rs
=======
Steel YCSB~/p/basin-bench/engines/ycsb-steel/
Fair script~/p/basin-bench/scripts/steel-fair-compare.sh
Fairness docs~/p/basin-bench/docs/BENCHMARK_FAIRNESS.md
Steel benchmarks~/p/basin-engines/engines/steel/BENCHMARKS.md
Roadmap to #1~/p/basin-engines/engines/steel/ROADMAP_BEST_KV.md
Ultimate adversarial~/p/basin-engines/engines/steel/examples/ultimate_adversarial.rs

origin/main

Dialectical Improvement

When benchmarking, always ask:

  1. "What would a competitor's maintainer criticize about this benchmark?"
  2. "Am I using each engine's recommended configuration?"
  3. "What am I NOT measuring that matters?"
  4. "Is this result surprising? If so, investigate before publishing."

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Model ElevenLabs voice synthesis as an ACSet schema with Unison ability handlers for typed voice operations. Use when integrating ElevenLabs TTS into category-theoretic pipelines, building typed voice synthesis workflows, or managing multi-voice narration with GF(3) conservation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

plurigrid/asi702026년 7월 10일 업데이트

Systematic process for analyzing and modernizing legacy applications to comply with the 12-Factor App methodology. Covers code analysis, configuration externalization, dependency management, and container/Kubernetes best practices.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

plurigrid/asi702026년 7월 10일 업데이트

13c0e3

무료

Gay MCP skill at invocation 26

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

plurigrid/asi702026년 7월 10일 업데이트

19d57d

무료

Gay MCP skill at invocation 5

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

plurigrid/asi702026년 7월 10일 업데이트

1ea91a

무료

Gay MCP skill at invocation 27

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

plurigrid/asi702026년 7월 10일 업데이트

1eab21

무료

Gay MCP skill at invocation 3

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

plurigrid/asi702026년 7월 10일 업데이트

plurigrid의 스킬 모두 보기

이 스킬의 문제 신고