Skip to content

checkpoint postgres: add a shallow checkpointer #1308

checkpoint postgres: add a shallow checkpointer

checkpoint postgres: add a shallow checkpointer #1308

Triggered via pull request December 19, 2024 23:20
Status Success
Total duration 46m 2s
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.7 ms +- 1.2 ms ......................................... fanout_to_subgraph_10x_sync: Mean +- std dev: 51.9 ms +- 0.6 ms ......................................... fanout_to_subgraph_10x_checkpoint: Mean +- std dev: 73.7 ms +- 0.9 ms ......................................... fanout_to_subgraph_10x_checkpoint_sync: Mean +- std dev: 94.1 ms +- 1.2 ms ......................................... fanout_to_subgraph_100x: Mean +- std dev: 609 ms +- 23 ms ......................................... fanout_to_subgraph_100x_sync: Mean +- std dev: 509 ms +- 8 ms ......................................... fanout_to_subgraph_100x_checkpoint: Mean +- std dev: 756 ms +- 17 ms ......................................... fanout_to_subgraph_100x_checkpoint_sync: Mean +- std dev: 940 ms +- 17 ms ......................................... react_agent_10x: Mean +- std dev: 30.7 ms +- 0.7 ms ......................................... react_agent_10x_sync: Mean +- std dev: 22.7 ms +- 0.3 ms ......................................... react_agent_10x_checkpoint: Mean +- std dev: 37.8 ms +- 0.7 ms ......................................... react_agent_10x_checkpoint_sync: Mean +- std dev: 36.8 ms +- 0.4 ms ......................................... react_agent_100x: Mean +- std dev: 339 ms +- 9 ms ......................................... react_agent_100x_sync: Mean +- std dev: 274 ms +- 3 ms ......................................... react_agent_100x_checkpoint: Mean +- std dev: 838 ms +- 6 ms ......................................... react_agent_100x_checkpoint_sync: Mean +- std dev: 831 ms +- 6 ms ......................................... wide_state_25x300: Mean +- std dev: 22.8 ms +- 0.4 ms ......................................... wide_state_25x300_sync: Mean +- std dev: 14.7 ms +- 0.2 ms ......................................... wide_state_25x300_checkpoint: Mean +- std dev: 275 ms +- 14 ms ......................................... wide_state_25x300_checkpoint_sync: Mean +- std dev: 271 ms +- 13 ms ......................................... wide_state_15x600: Mean +- std dev: 26.6 ms +- 0.5 ms ......................................... wide_state_15x600_sync: Mean +- std dev: 17.1 ms +- 0.1 ms ......................................... wide_state_15x600_checkpoint: Mean +- std dev: 472 ms +- 16 ms ......................................... wide_state_15x600_checkpoint_sync: Mean +- std dev: 470 ms +- 14 ms ......................................... wide_state_9x1200: Mean +- std dev: 26.6 ms +- 0.7 ms ......................................... wide_state_9x1200_sync: Mean +- std dev: 17.1 ms +- 0.1 ms ......................................... wide_state_9x1200_checkpoint: Mean +- std dev: 308 ms +- 13 ms ......................................... wide_state_9x1200_checkpoint_sync: Mean +- std dev: 304 ms +- 13 ms
Comparison against main: libs/checkpoint-postgres/langgraph/checkpoint/postgres/__init__.py#L1
+-----------------------------------------+---------+-----------------------+ | Benchmark | main | changes | +=========================================+=========+=======================+ | fanout_to_subgraph_100x_checkpoint | 791 ms | 756 ms: 1.05x faster | +-----------------------------------------+---------+-----------------------+ | fanout_to_subgraph_10x_checkpoint_sync | 97.0 ms | 94.1 ms: 1.03x faster | +-----------------------------------------+---------+-----------------------+ | react_agent_100x_checkpoint | 858 ms | 838 ms: 1.02x faster | +-----------------------------------------+---------+-----------------------+ | fanout_to_subgraph_10x_checkpoint | 75.3 ms | 73.7 ms: 1.02x faster | +-----------------------------------------+---------+-----------------------+ | fanout_to_subgraph_100x | 619 ms | 609 ms: 1.02x faster | +-----------------------------------------+---------+-----------------------+ | wide_state_9x1200_checkpoint_sync | 308 ms | 304 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | fanout_to_subgraph_10x_sync | 52.6 ms | 51.9 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | wide_state_9x1200 | 27.0 ms | 26.6 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | react_agent_100x_checkpoint_sync | 841 ms | 831 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | react_agent_10x_sync | 23.0 ms | 22.7 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | wide_state_9x1200_sync | 17.3 ms | 17.1 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | react_agent_10x_checkpoint | 38.2 ms | 37.8 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | fanout_to_subgraph_10x | 61.3 ms | 60.7 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | react_agent_10x_checkpoint_sync | 37.1 ms | 36.8 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | fanout_to_subgraph_100x_checkpoint_sync | 948 ms | 940 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | react_agent_10x | 30.9 ms | 30.7 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | fanout_to_subgraph_100x_sync | 513 ms | 509 ms: 1.01x faster | +-----------------------------------------+---------+-----------------------+ | Geometric mean | (ref) | 1.01x faster | +-----------------------------------------+---------+-----------------------+ Benchmark hidden because not significant (11): wide_state_9x1200_checkpoint, react_agent_100x, wide_state_25x300_checkpoint, wide_state_25x300_checkpoint_sync, wide_state_15x600, wide_state_15x600_sync, wide_state_25x300_sync, wide_state_15x600_checkpoint_sync, react_agent_100x_sync, wide_state_25x300, wide_state_15x600_checkpoint