checkpoint postgres: add a shallow checkpointer #1302
Triggered via pull request
December 19, 2024 02:31
Status
Success
Total duration
45m 47s
Artifacts
–
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.8 ms +- 1.3 ms
.........................................
fanout_to_subgraph_10x_sync: Mean +- std dev: 52.0 ms +- 0.9 ms
.........................................
fanout_to_subgraph_10x_checkpoint: Mean +- std dev: 73.7 ms +- 1.3 ms
.........................................
fanout_to_subgraph_10x_checkpoint_sync: Mean +- std dev: 93.8 ms +- 1.0 ms
.........................................
fanout_to_subgraph_100x: Mean +- std dev: 608 ms +- 23 ms
.........................................
fanout_to_subgraph_100x_sync: Mean +- std dev: 509 ms +- 8 ms
.........................................
fanout_to_subgraph_100x_checkpoint: Mean +- std dev: 751 ms +- 17 ms
.........................................
fanout_to_subgraph_100x_checkpoint_sync: Mean +- std dev: 935 ms +- 18 ms
.........................................
react_agent_10x: Mean +- std dev: 30.5 ms +- 0.6 ms
.........................................
react_agent_10x_sync: Mean +- std dev: 22.6 ms +- 0.3 ms
.........................................
react_agent_10x_checkpoint: Mean +- std dev: 37.6 ms +- 0.7 ms
.........................................
react_agent_10x_checkpoint_sync: Mean +- std dev: 36.6 ms +- 0.4 ms
.........................................
react_agent_100x: Mean +- std dev: 336 ms +- 6 ms
.........................................
react_agent_100x_sync: Mean +- std dev: 273 ms +- 2 ms
.........................................
react_agent_100x_checkpoint: Mean +- std dev: 837 ms +- 7 ms
.........................................
react_agent_100x_checkpoint_sync: Mean +- std dev: 832 ms +- 8 ms
.........................................
wide_state_25x300: Mean +- std dev: 22.8 ms +- 0.5 ms
.........................................
wide_state_25x300_sync: Mean +- std dev: 14.7 ms +- 0.2 ms
.........................................
wide_state_25x300_checkpoint: Mean +- std dev: 277 ms +- 19 ms
.........................................
wide_state_25x300_checkpoint_sync: Mean +- std dev: 271 ms +- 12 ms
.........................................
wide_state_15x600: Mean +- std dev: 26.7 ms +- 0.8 ms
.........................................
wide_state_15x600_sync: Mean +- std dev: 17.1 ms +- 0.2 ms
.........................................
wide_state_15x600_checkpoint: Mean +- std dev: 471 ms +- 15 ms
.........................................
wide_state_15x600_checkpoint_sync: Mean +- std dev: 470 ms +- 13 ms
.........................................
wide_state_9x1200: Mean +- std dev: 26.5 ms +- 0.5 ms
.........................................
wide_state_9x1200_sync: Mean +- std dev: 17.1 ms +- 0.1 ms
.........................................
wide_state_9x1200_checkpoint: Mean +- std dev: 307 ms +- 13 ms
.........................................
wide_state_9x1200_checkpoint_sync: Mean +- std dev: 306 ms +- 14 ms
|
Comparison against main:
libs/checkpoint-postgres/langgraph/checkpoint/postgres/__init__.py#L1
+-----------------------------------------+---------+-----------------------+
| Benchmark | main | changes |
+=========================================+=========+=======================+
| fanout_to_subgraph_10x_checkpoint_sync | 94.8 ms | 93.8 ms: 1.01x faster |
+-----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_100x_checkpoint | 758 ms | 751 ms: 1.01x faster |
+-----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_100x_checkpoint_sync | 943 ms | 935 ms: 1.01x faster |
+-----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_10x_checkpoint | 74.4 ms | 73.7 ms: 1.01x faster |
+-----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_100x_sync | 512 ms | 509 ms: 1.01x faster |
+-----------------------------------------+---------+-----------------------+
| react_agent_100x | 338 ms | 336 ms: 1.01x faster |
+-----------------------------------------+---------+-----------------------+
| react_agent_100x_sync | 273 ms | 273 ms: 1.00x faster |
+-----------------------------------------+---------+-----------------------+
| react_agent_100x_checkpoint | 835 ms | 837 ms: 1.00x slower |
+-----------------------------------------+---------+-----------------------+
| react_agent_10x_sync | 22.5 ms | 22.6 ms: 1.00x slower |
+-----------------------------------------+---------+-----------------------+
| react_agent_100x_checkpoint_sync | 828 ms | 832 ms: 1.00x slower |
+-----------------------------------------+---------+-----------------------+
| Geometric mean | (ref) | 1.00x faster |
+-----------------------------------------+---------+-----------------------+
Benchmark hidden because not significant (18): wide_state_25x300_checkpoint_sync, wide_state_15x600_checkpoint, wide_state_15x600_checkpoint_sync, react_agent_10x_checkpoint_sync, wide_state_9x1200_sync, wide_state_9x1200_checkpoint, wide_state_25x300, wide_state_15x600_sync, wide_state_25x300_sync, fanout_to_subgraph_100x, react_agent_10x, wide_state_9x1200, react_agent_10x_checkpoint, wide_state_9x1200_checkpoint_sync, fanout_to_subgraph_10x_sync, fanout_to_subgraph_10x, wide_state_15x600, wide_state_25x300_checkpoint
|