Skip to content

[Checkpointers] MemorySaver: refrain from overwriting writes #808

[Checkpointers] MemorySaver: refrain from overwriting writes

[Checkpointers] MemorySaver: refrain from overwriting writes #808

Triggered via pull request November 13, 2024 00:02
Status Success
Total duration 46m 9s
Artifacts

bench.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

1 warning and 2 notices
benchmark
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/cache@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Benchmark results: libs/checkpoint/langgraph/checkpoint/memory/__init__.py#L1
......................................... fanout_to_subgraph_10x: Mean +- std dev: 57.3 ms +- 1.6 ms ......................................... fanout_to_subgraph_10x_sync: Mean +- std dev: 48.9 ms +- 0.5 ms ......................................... fanout_to_subgraph_10x_checkpoint: Mean +- std dev: 82.8 ms +- 1.6 ms ......................................... fanout_to_subgraph_10x_checkpoint_sync: Mean +- std dev: 90.0 ms +- 1.0 ms ......................................... fanout_to_subgraph_100x: Mean +- std dev: 525 ms +- 10 ms ......................................... fanout_to_subgraph_100x_sync: Mean +- std dev: 476 ms +- 6 ms ......................................... fanout_to_subgraph_100x_checkpoint: Mean +- std dev: 855 ms +- 53 ms ......................................... fanout_to_subgraph_100x_checkpoint_sync: Mean +- std dev: 886 ms +- 16 ms ......................................... react_agent_10x: Mean +- std dev: 30.1 ms +- 0.6 ms ......................................... react_agent_10x_sync: Mean +- std dev: 22.1 ms +- 0.2 ms ......................................... react_agent_10x_checkpoint: Mean +- std dev: 46.0 ms +- 0.8 ms ......................................... react_agent_10x_checkpoint_sync: Mean +- std dev: 36.0 ms +- 0.5 ms ......................................... react_agent_100x: Mean +- std dev: 336 ms +- 7 ms ......................................... react_agent_100x_sync: Mean +- std dev: 268 ms +- 2 ms ......................................... react_agent_100x_checkpoint: Mean +- std dev: 933 ms +- 8 ms ......................................... react_agent_100x_checkpoint_sync: Mean +- std dev: 841 ms +- 10 ms ......................................... wide_state_25x300: Mean +- std dev: 23.6 ms +- 0.4 ms ......................................... wide_state_25x300_sync: Mean +- std dev: 15.1 ms +- 0.3 ms ......................................... wide_state_25x300_checkpoint: Mean +- std dev: 277 ms +- 3 ms ......................................... wide_state_25x300_checkpoint_sync: Mean +- std dev: 265 ms +- 3 ms ......................................... wide_state_15x600: Mean +- std dev: 27.5 ms +- 0.5 ms ......................................... wide_state_15x600_sync: Mean +- std dev: 17.3 ms +- 0.1 ms ......................................... wide_state_15x600_checkpoint: Mean +- std dev: 478 ms +- 4 ms ......................................... wide_state_15x600_checkpoint_sync: Mean +- std dev: 465 ms +- 8 ms ......................................... wide_state_9x1200: Mean +- std dev: 27.5 ms +- 0.5 ms ......................................... wide_state_9x1200_sync: Mean +- std dev: 17.3 ms +- 0.2 ms ......................................... wide_state_9x1200_checkpoint: Mean +- std dev: 311 ms +- 3 ms ......................................... wide_state_9x1200_checkpoint_sync: Mean +- std dev: 298 ms +- 4 ms
Comparison against main: libs/checkpoint/langgraph/checkpoint/memory/__init__.py#L1
+-----------------------------------------+---------+-----------------------+ | Benchmark | main | changes | +=========================================+=========+=======================+ | fanout_to_subgraph_100x_checkpoint | 894 ms | 855 ms: 1.04x faster | +-----------------------------------------+---------+-----------------------+ | fanout_to_subgraph_100x | 543 ms | 525 ms: 1.04x faster | +-----------------------------------------+---------+-----------------------+ | fanout_to_subgraph_100x_checkpoint_sync | 905 ms | 886 ms: 1.02x faster | +-----------------------------------------+---------+-----------------------+ | fanout_to_subgraph_10x_checkpoint_sync | 91.6 ms | 90.0 ms: 1.02x faster | +-----------------------------------------+---------+-----------------------+ | react_agent_100x_checkpoint | 947 ms | 933 ms: 1.02x faster | +-----------------------------------------+---------+-----------------------+ | react_agent_100x_checkpoint_sync | 853 ms | 841 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | fanout_to_subgraph_10x_sync | 49.5 ms | 48.9 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | fanout_to_subgraph_10x_checkpoint | 83.8 ms | 82.8 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | fanout_to_subgraph_100x_sync | 482 ms | 476 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | react_agent_10x_checkpoint | 46.5 ms | 46.0 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | fanout_to_subgraph_10x | 57.7 ms | 57.3 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | react_agent_10x | 30.3 ms | 30.1 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | react_agent_100x_sync | 270 ms | 268 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | wide_state_15x600_sync | 17.4 ms | 17.3 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | wide_state_15x600_checkpoint | 480 ms | 478 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | wide_state_9x1200_checkpoint_sync | 299 ms | 298 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | wide_state_25x300 | 23.7 ms | 23.6 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | wide_state_15x600_checkpoint_sync | 467 ms | 465 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | wide_state_25x300_checkpoint | 279 ms | 277 ms: 1.00x faster | +-----------------------------------------+---------+-----------------------+ | react_agent_10x_sync | 22.2 ms | 22.1 ms: 1.00x faster | +-----------------------------------------+---------+-----------------------+ | wide_state_9x1200_sync | 17.4 ms | 17.3 ms: 1.00x faster | +-----------------------------------------+---------+-----------------------+ | wide_state_9x1200_checkpoint | 312 ms | 311 ms: 1.00x faster | +-----------------------------------------+---------+-----------------------+ | Geometric mean | (ref) | 1.01x faster | +-----------------------------------------+---------+-----------------------+ Benchmark hidden because not significant (6): wide_state_9x1200, wide_state_15x600, react_agent_100x, wide_state_25x300_sync, react_agent_10x_checkpoint_sync, wide_state_25x300_checkpoint_sync