mirror of
https://github.com/logos-messaging/nim-ffi.git
synced 2026-08-05 06:23:19 +00:00
Measures the full C++ -> Nim -> C++ foreign round trip across setups: scalar family (2 x int64 + float64), payload family (seq[byte], size sweep incl. large payloads), and event delivery — through sync, async (bounded in-flight window) and event lanes, over a thread-count sweep. All handlers compute the same O(1) parity predicate, so setups differ purely in transport cost. Every reply is verified; a bad reply or lost event exits non-zero. `nimble perf_cpp_e2e` regenerates the cpp bindings, builds libperfbench with -d:danger over the NIM_FFI_MM matrix (orc + refc) — deliberately bypassing the debug-orc nim_ffi_lib.cmake template build — and runs the Release driver. NIM_FFI_PERF_* env knobs control threads, volume, iterations and payload sizes; each table row also emits a csv line for diff-friendly capture. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
48 lines
1010 B
Plaintext
48 lines
1010 B
Plaintext
nimble.develop
|
|
nimble.paths
|
|
nimbledeps
|
|
nimblemeta.json
|
|
|
|
# Nim compiler output
|
|
*.dylib
|
|
*.so
|
|
*.dll
|
|
*.exe
|
|
*.o
|
|
*.a
|
|
|
|
# Compiled test binaries (extensionless executables)
|
|
tests/test_*
|
|
!tests/test_*.nim
|
|
|
|
# E2E test build artifacts (e.g. CMake build dirs under tests/e2e/cpp/build/)
|
|
tests/e2e/**/build/
|
|
|
|
# Perf harness artifacts (bench lib + driver, cmake build dir, generated bindings
|
|
# — regenerated by `nimble perf_cpp_e2e`)
|
|
tests/perf/build/
|
|
tests/perf/cpp/build/
|
|
tests/perf/benchlib/cpp_bindings/
|
|
|
|
# Generated binding crates (regenerated by `nimble genbindings_*`)
|
|
examples/**/rust_bindings/target/
|
|
|
|
# Example C++ build artifacts
|
|
examples/**/cpp_bindings/build/
|
|
|
|
# Cargo build artifacts (rust clients / harnesses)
|
|
examples/**/rust_client/target/
|
|
|
|
# Development plans (local only — match PLAN.md and any `*-plan.md` notes)
|
|
PLAN.md
|
|
*-plan.md
|
|
|
|
# IDE / editor scratch
|
|
.vscode/
|
|
.idea/
|
|
.DS_Store
|
|
|
|
# Compiled test binaries (extensionless executables, also under tests/unit/)
|
|
tests/unit/test_*
|
|
!tests/unit/test_*.nim
|