fix(debug): self-referencing checkpoints when resuming streaming mid-thread #483
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/langgraph/langgraph/pregel/loop.py#L1
.........................................
fanout_to_subgraph_10x: Mean +- std dev: 50.5 ms +- 1.1 ms
.........................................
fanout_to_subgraph_10x_sync: Mean +- std dev: 43.4 ms +- 0.5 ms
.........................................
fanout_to_subgraph_10x_checkpoint: Mean +- std dev: 69.7 ms +- 1.6 ms
.........................................
fanout_to_subgraph_10x_checkpoint_sync: Mean +- std dev: 72.8 ms +- 0.8 ms
.........................................
fanout_to_subgraph_100x: Mean +- std dev: 483 ms +- 11 ms
.........................................
fanout_to_subgraph_100x_sync: Mean +- std dev: 423 ms +- 5 ms
.........................................
fanout_to_subgraph_100x_checkpoint: Mean +- std dev: 699 ms +- 30 ms
.........................................
fanout_to_subgraph_100x_checkpoint_sync: Mean +- std dev: 698 ms +- 5 ms
.........................................
react_agent_10x: Mean +- std dev: 28.2 ms +- 0.6 ms
.........................................
react_agent_10x_sync: Mean +- std dev: 20.3 ms +- 0.5 ms
.........................................
react_agent_10x_checkpoint: Mean +- std dev: 44.1 ms +- 3.6 ms
.........................................
react_agent_10x_checkpoint_sync: Mean +- std dev: 33.6 ms +- 3.3 ms
.........................................
react_agent_100x: Mean +- std dev: 312 ms +- 7 ms
.........................................
react_agent_100x_sync: Mean +- std dev: 246 ms +- 3 ms
.........................................
react_agent_100x_checkpoint: Mean +- std dev: 871 ms +- 13 ms
.........................................
react_agent_100x_checkpoint_sync: Mean +- std dev: 782 ms +- 7 ms
.........................................
wide_state_25x300: Mean +- std dev: 18.6 ms +- 0.4 ms
.........................................
wide_state_25x300_sync: Mean +- std dev: 10.9 ms +- 0.1 ms
.........................................
wide_state_25x300_checkpoint: Mean +- std dev: 240 ms +- 8 ms
.........................................
wide_state_25x300_checkpoint_sync: Mean +- std dev: 238 ms +- 13 ms
.........................................
wide_state_15x600: Mean +- std dev: 21.5 ms +- 0.4 ms
.........................................
wide_state_15x600_sync: Mean +- std dev: 12.6 ms +- 0.2 ms
.........................................
wide_state_15x600_checkpoint: Mean +- std dev: 411 ms +- 12 ms
.........................................
wide_state_15x600_checkpoint_sync: Mean +- std dev: 415 ms +- 16 ms
.........................................
wide_state_9x1200: Mean +- std dev: 21.5 ms +- 0.3 ms
.........................................
wide_state_9x1200_sync: Mean +- std dev: 12.5 ms +- 0.1 ms
.........................................
wide_state_9x1200_checkpoint: Mean +- std dev: 268 ms +- 8 ms
.........................................
wide_state_9x1200_checkpoint_sync: Mean +- std dev: 270 ms +- 16 ms
|
Comparison against main:
libs/langgraph/langgraph/pregel/loop.py#L1
+-----------------------------------------+---------+-----------------------+
| Benchmark | main | changes |
+=========================================+=========+=======================+
| fanout_to_subgraph_100x_checkpoint | 730 ms | 699 ms: 1.04x faster |
+-----------------------------------------+---------+-----------------------+
| react_agent_10x_checkpoint | 45.4 ms | 44.1 ms: 1.03x faster |
+-----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_100x_checkpoint_sync | 711 ms | 698 ms: 1.02x faster |
+-----------------------------------------+---------+-----------------------+
| react_agent_10x | 28.7 ms | 28.2 ms: 1.02x faster |
+-----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_10x_checkpoint | 70.8 ms | 69.7 ms: 1.02x faster |
+-----------------------------------------+---------+-----------------------+
| wide_state_25x300 | 18.9 ms | 18.6 ms: 1.02x faster |
+-----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_10x_checkpoint_sync | 73.9 ms | 72.8 ms: 1.02x faster |
+-----------------------------------------+---------+-----------------------+
| react_agent_10x_sync | 20.5 ms | 20.3 ms: 1.01x faster |
+-----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_10x_sync | 44.0 ms | 43.4 ms: 1.01x faster |
+-----------------------------------------+---------+-----------------------+
| wide_state_15x600 | 21.8 ms | 21.5 ms: 1.01x faster |
+-----------------------------------------+---------+-----------------------+
| react_agent_100x_checkpoint | 881 ms | 871 ms: 1.01x faster |
+-----------------------------------------+---------+-----------------------+
| react_agent_100x | 315 ms | 312 ms: 1.01x faster |
+-----------------------------------------+---------+-----------------------+
| react_agent_100x_checkpoint_sync | 789 ms | 782 ms: 1.01x faster |
+-----------------------------------------+---------+-----------------------+
| react_agent_100x_sync | 248 ms | 246 ms: 1.01x faster |
+-----------------------------------------+---------+-----------------------+
| wide_state_9x1200 | 21.7 ms | 21.5 ms: 1.01x faster |
+-----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_100x_sync | 425 ms | 423 ms: 1.00x faster |
+-----------------------------------------+---------+-----------------------+
| wide_state_15x600_sync | 12.6 ms | 12.6 ms: 1.00x faster |
+-----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_10x | 49.0 ms | 50.5 ms: 1.03x slower |
+-----------------------------------------+---------+-----------------------+
| Geometric mean | (ref) | 1.01x faster |
+-----------------------------------------+---------+-----------------------+
Benchmark hidden because not significant (10): react_agent_10x_checkpoint_sync, wide_state_15x600_checkpoint, wide_state_25x300_checkpoint_sync, fanout_to_subgraph_100x, wide_state_25x300_sync, wide_state_9x1200_sync, wide_state_9x1200_checkpoint_sync, wide_state_9x1200_checkpoint, wide_state_25x300_checkpoint, wide_state_15x600_checkpoint_sync
|