Skip to content

checkpoint postgres: add a shallow checkpointer #1314

checkpoint postgres: add a shallow checkpointer

checkpoint postgres: add a shallow checkpointer #1314

Triggered via pull request December 20, 2024 17:42
Status Success
Total duration 46m 55s
Artifacts

bench.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

1 warning and 2 notices
benchmark
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
Benchmark results: libs/checkpoint-postgres/langgraph/checkpoint/postgres/__init__.py#L1
......................................... fanout_to_subgraph_10x: Mean +- std dev: 60.6 ms +- 1.8 ms ......................................... fanout_to_subgraph_10x_sync: Mean +- std dev: 51.9 ms +- 0.7 ms ......................................... fanout_to_subgraph_10x_checkpoint: Mean +- std dev: 73.2 ms +- 1.1 ms ......................................... fanout_to_subgraph_10x_checkpoint_sync: Mean +- std dev: 94.3 ms +- 1.5 ms ......................................... fanout_to_subgraph_100x: Mean +- std dev: 606 ms +- 26 ms ......................................... fanout_to_subgraph_100x_sync: Mean +- std dev: 511 ms +- 9 ms ......................................... fanout_to_subgraph_100x_checkpoint: Mean +- std dev: 750 ms +- 19 ms ......................................... fanout_to_subgraph_100x_checkpoint_sync: Mean +- std dev: 945 ms +- 19 ms ......................................... react_agent_10x: Mean +- std dev: 30.8 ms +- 0.7 ms ......................................... react_agent_10x_sync: Mean +- std dev: 23.1 ms +- 0.4 ms ......................................... react_agent_10x_checkpoint: Mean +- std dev: 38.7 ms +- 1.1 ms ......................................... react_agent_10x_checkpoint_sync: Mean +- std dev: 37.8 ms +- 0.7 ms ......................................... react_agent_100x: Mean +- std dev: 339 ms +- 7 ms ......................................... react_agent_100x_sync: Mean +- std dev: 274 ms +- 4 ms ......................................... react_agent_100x_checkpoint: Mean +- std dev: 846 ms +- 10 ms ......................................... react_agent_100x_checkpoint_sync: Mean +- std dev: 859 ms +- 14 ms ......................................... wide_state_25x300: Mean +- std dev: 22.9 ms +- 0.5 ms ......................................... wide_state_25x300_sync: Mean +- std dev: 14.8 ms +- 0.1 ms ......................................... wide_state_25x300_checkpoint: Mean +- std dev: 284 ms +- 19 ms ......................................... wide_state_25x300_checkpoint_sync: Mean +- std dev: 284 ms +- 20 ms ......................................... wide_state_15x600: Mean +- std dev: 26.8 ms +- 0.6 ms ......................................... wide_state_15x600_sync: Mean +- std dev: 17.2 ms +- 0.3 ms ......................................... wide_state_15x600_checkpoint: Mean +- std dev: 473 ms +- 13 ms ......................................... wide_state_15x600_checkpoint_sync: Mean +- std dev: 476 ms +- 15 ms ......................................... wide_state_9x1200: Mean +- std dev: 26.6 ms +- 0.7 ms ......................................... wide_state_9x1200_sync: Mean +- std dev: 17.2 ms +- 0.1 ms ......................................... wide_state_9x1200_checkpoint: Mean +- std dev: 311 ms +- 14 ms ......................................... wide_state_9x1200_checkpoint_sync: Mean +- std dev: 308 ms +- 14 ms
Comparison against main: libs/checkpoint-postgres/langgraph/checkpoint/postgres/__init__.py#L1
+----------------------------------------+---------+-----------------------+ | Benchmark | main | changes | +========================================+=========+=======================+ | fanout_to_subgraph_100x_checkpoint | 773 ms | 750 ms: 1.03x faster | +----------------------------------------+---------+-----------------------+ | fanout_to_subgraph_100x | 617 ms | 606 ms: 1.02x faster | +----------------------------------------+---------+-----------------------+ | fanout_to_subgraph_100x_sync | 513 ms | 511 ms: 1.01x faster | +----------------------------------------+---------+-----------------------+ | fanout_to_subgraph_10x_checkpoint_sync | 94.0 ms | 94.3 ms: 1.00x slower | +----------------------------------------+---------+-----------------------+ | wide_state_9x1200_sync | 17.1 ms | 17.2 ms: 1.00x slower | +----------------------------------------+---------+-----------------------+ | react_agent_100x_checkpoint | 843 ms | 846 ms: 1.00x slower | +----------------------------------------+---------+-----------------------+ | wide_state_25x300_sync | 14.7 ms | 14.8 ms: 1.00x slower | +----------------------------------------+---------+-----------------------+ | react_agent_100x | 337 ms | 339 ms: 1.01x slower | +----------------------------------------+---------+-----------------------+ | wide_state_15x600_sync | 17.1 ms | 17.2 ms: 1.01x slower | +----------------------------------------+---------+-----------------------+ | wide_state_15x600 | 26.6 ms | 26.8 ms: 1.01x slower | +----------------------------------------+---------+-----------------------+ | react_agent_10x | 30.5 ms | 30.8 ms: 1.01x slower | +----------------------------------------+---------+-----------------------+ | react_agent_10x_sync | 22.7 ms | 23.1 ms: 1.01x slower | +----------------------------------------+---------+-----------------------+ | react_agent_10x_checkpoint | 37.7 ms | 38.7 ms: 1.03x slower | +----------------------------------------+---------+-----------------------+ | react_agent_100x_checkpoint_sync | 837 ms | 859 ms: 1.03x slower | +----------------------------------------+---------+-----------------------+ | wide_state_25x300_checkpoint | 275 ms | 284 ms: 1.03x slower | +----------------------------------------+---------+-----------------------+ | wide_state_25x300_checkpoint_sync | 274 ms | 284 ms: 1.04x slower | +----------------------------------------+---------+-----------------------+ | react_agent_10x_checkpoint_sync | 36.5 ms | 37.8 ms: 1.04x slower | +----------------------------------------+---------+-----------------------+ | Geometric mean | (ref) | 1.01x slower | +----------------------------------------+---------+-----------------------+ Benchmark hidden because not significant (11): fanout_to_subgraph_10x_sync, fanout_to_subgraph_10x, wide_state_9x1200, fanout_to_subgraph_10x_checkpoint, fanout_to_subgraph_100x_checkpoint_sync, wide_state_15x600_checkpoint, react_agent_100x_sync, wide_state_25x300, wide_state_9x1200_checkpoint, wide_state_15x600_checkpoint_sync, wide_state_9x1200_checkpoint_sync