Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
cfcfad5
feat(bench): add benchmarking infrastructure for AimDB
lxsaah Jun 16, 2026
aab1cd6
feat(bench): update output directory for benchmark results and add ba…
lxsaah Jun 16, 2026
5b73b01
feat(bench): add README for benchmarking infrastructure and usage ins…
lxsaah Jun 16, 2026
631b7e7
style: format async calls for better readability in benchmark functions
lxsaah Jun 16, 2026
de94dd6
fix: add missing license field in Cargo.toml
lxsaah Jun 16, 2026
319ef3f
feat(bench): enhance Makefile and README for benchmarking infrastruct…
lxsaah Jun 19, 2026
f852034
feat(buffer): implement zero-allocation consume path for BufferReader…
lxsaah Jun 20, 2026
ce10d91
feat(buffer): refactor EmbassyBufferReader to eliminate per-message a…
lxsaah Jun 20, 2026
f53e979
feat(profiling): add pending_since to track consumer processing time …
lxsaah Jun 20, 2026
2ff3984
feat: add Embassy adapter benchmarks for B2 throughput
lxsaah Jun 21, 2026
34b8b5c
feat(bench): update baseline references in benchmark scripts to 'main'
lxsaah Jun 21, 2026
5d9630c
feat(bench): consolidate latency and throughput benchmarks for Tokio …
lxsaah Jun 21, 2026
51de07d
Refactor and enhance documentation for aimdb-bench
lxsaah Jun 21, 2026
f82e81c
feat(buffer): add lazy subscriber creation explanation for SpmcRing
lxsaah Jun 21, 2026
871e0e3
chore: remove outdated design documents for aimdb-bench and proof art…
lxsaah Jun 21, 2026
2b54974
docs: update comments for clarity on buffer types and Tokio primitives
lxsaah Jun 21, 2026
f22344f
Merge branch 'main' into feat/w8-zero-alloc-consume
lxsaah Jun 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
180 changes: 178 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ members = [
"examples/embassy-mqtt-connector-demo",
"examples/embassy-knx-connector-demo",
"examples/embassy-serial-connector-demo",
"examples/embassy-bench-stm32h5",
"examples/sync-api-demo",
"examples/remote-access-demo",
"examples/weather-mesh-demo/weather-mesh-common",
Expand All @@ -36,6 +37,8 @@ members = [
"examples/weather-mesh-demo/weather-station-gamma",
"examples/hello-mailbox",
"examples/hello-single-latest-async",
# Benchmarking infrastructure — host-only, excluded from default-members
"aimdb-bench",
]
exclude = ["_external"]
resolver = "2"
Expand Down
10 changes: 8 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@ build:
cargo build --package aimdb-serial-connector --no-default-features --features "tokio-runtime"
@printf "$(YELLOW) → Building WASM adapter$(NC)\n"
cargo build --package aimdb-wasm-adapter --target wasm32-unknown-unknown --features "wasm-runtime"
@printf "$(YELLOW) → Building benchmarking infrastructure (host-only, incl. benches)$(NC)\n"
cargo build --package aimdb-bench --benches

test:
@printf "$(GREEN)Running all tests (valid combinations)...$(NC)\n"
Expand Down Expand Up @@ -176,7 +178,7 @@ test:

fmt:
@printf "$(GREEN)Formatting code (workspace members only)...$(NC)\n"
@for pkg in aimdb-executor aimdb-derive aimdb-data-contracts aimdb-core aimdb-client aimdb-embassy-adapter aimdb-tokio-adapter aimdb-wasm-adapter aimdb-sync aimdb-persistence aimdb-persistence-sqlite aimdb-mqtt-connector aimdb-knx-connector aimdb-ws-protocol aimdb-websocket-connector aimdb-uds-connector aimdb-serial-connector aimdb-codegen aimdb-cli aimdb-mcp sync-api-demo tokio-mqtt-connector-demo embassy-mqtt-connector-demo tokio-knx-connector-demo embassy-knx-connector-demo embassy-serial-connector-demo weather-mesh-common weather-hub weather-station-alpha weather-station-beta hello-mailbox hello-single-latest-async; do \
@for pkg in aimdb-executor aimdb-derive aimdb-data-contracts aimdb-core aimdb-client aimdb-embassy-adapter aimdb-tokio-adapter aimdb-wasm-adapter aimdb-sync aimdb-persistence aimdb-persistence-sqlite aimdb-mqtt-connector aimdb-knx-connector aimdb-ws-protocol aimdb-websocket-connector aimdb-uds-connector aimdb-serial-connector aimdb-codegen aimdb-cli aimdb-mcp sync-api-demo tokio-mqtt-connector-demo embassy-mqtt-connector-demo tokio-knx-connector-demo embassy-knx-connector-demo embassy-serial-connector-demo embassy-bench-stm32h5 weather-mesh-common weather-hub weather-station-alpha weather-station-beta hello-mailbox hello-single-latest-async aimdb-bench; do \
printf "$(YELLOW) → Formatting $$pkg$(NC)\n"; \
cargo fmt -p $$pkg 2>/dev/null || true; \
done
Expand All @@ -185,7 +187,7 @@ fmt:
fmt-check:
@printf "$(GREEN)Checking code formatting (workspace members only)...$(NC)\n"
@FAILED=0; \
for pkg in aimdb-executor aimdb-derive aimdb-data-contracts aimdb-core aimdb-client aimdb-embassy-adapter aimdb-tokio-adapter aimdb-wasm-adapter aimdb-sync aimdb-persistence aimdb-persistence-sqlite aimdb-mqtt-connector aimdb-knx-connector aimdb-ws-protocol aimdb-websocket-connector aimdb-uds-connector aimdb-serial-connector aimdb-codegen aimdb-cli aimdb-mcp sync-api-demo tokio-mqtt-connector-demo embassy-mqtt-connector-demo tokio-knx-connector-demo embassy-knx-connector-demo embassy-serial-connector-demo weather-mesh-common weather-hub weather-station-alpha weather-station-beta hello-mailbox hello-single-latest-async; do \
for pkg in aimdb-executor aimdb-derive aimdb-data-contracts aimdb-core aimdb-client aimdb-embassy-adapter aimdb-tokio-adapter aimdb-wasm-adapter aimdb-sync aimdb-persistence aimdb-persistence-sqlite aimdb-mqtt-connector aimdb-knx-connector aimdb-ws-protocol aimdb-websocket-connector aimdb-uds-connector aimdb-serial-connector aimdb-codegen aimdb-cli aimdb-mcp sync-api-demo tokio-mqtt-connector-demo embassy-mqtt-connector-demo tokio-knx-connector-demo embassy-knx-connector-demo embassy-serial-connector-demo embassy-bench-stm32h5 weather-mesh-common weather-hub weather-station-alpha weather-station-beta hello-mailbox hello-single-latest-async aimdb-bench; do \
printf "$(YELLOW) → Checking $$pkg$(NC)\n"; \
if ! cargo fmt -p $$pkg -- --check 2>&1; then \
printf "$(RED)❌ Formatting check failed for $$pkg$(NC)\n"; \
Expand Down Expand Up @@ -262,6 +264,8 @@ clippy:
cargo clippy --package aimdb-serial-connector --target thumbv7em-none-eabihf --no-default-features --features "embassy-runtime,defmt" -- -D warnings
@printf "$(YELLOW) → Clippy on WASM adapter$(NC)\n"
cargo clippy --package aimdb-wasm-adapter --target wasm32-unknown-unknown --features "wasm-runtime" -- -D warnings
@printf "$(YELLOW) → Clippy on benchmarking infrastructure (host-only, incl. benches)$(NC)\n"
cargo clippy --package aimdb-bench --all-targets -- -D warnings

doc:
@printf "$(GREEN)Generating dual-platform documentation...$(NC)\n"
Expand Down Expand Up @@ -372,6 +376,8 @@ examples:
cargo build --package embassy-knx-connector-demo --target thumbv7em-none-eabihf
@printf "$(YELLOW) → Building embassy-serial-connector-demo (embedded, embassy runtime)$(NC)\n"
cargo build --package embassy-serial-connector-demo --target thumbv7em-none-eabihf
@printf "$(YELLOW) → Building embassy-bench-stm32h5 (B3 on-target profiling, embassy runtime)$(NC)\n"
cargo build --package embassy-bench-stm32h5 --target thumbv7em-none-eabihf
@printf "$(YELLOW) → Building weather-mesh-demo: weather-mesh-common$(NC)\n"
cargo build --package weather-mesh-common
@printf "$(YELLOW) → Building weather-mesh-demo: weather-hub (cloud aggregator)$(NC)\n"
Expand Down
2 changes: 1 addition & 1 deletion _external/embassy
Loading
Loading