lib: Add support for multiple interrupts per node #1108
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/langgraph/langgraph/constants.py#L1
.........................................
fanout_to_subgraph_10x: Mean +- std dev: 61.7 ms +- 1.3 ms
.........................................
fanout_to_subgraph_10x_sync: Mean +- std dev: 52.1 ms +- 1.3 ms
.........................................
fanout_to_subgraph_10x_checkpoint: Mean +- std dev: 93.4 ms +- 8.5 ms
.........................................
fanout_to_subgraph_10x_checkpoint_sync: Mean +- std dev: 95.5 ms +- 1.7 ms
.........................................
fanout_to_subgraph_100x: Mean +- std dev: 641 ms +- 30 ms
.........................................
fanout_to_subgraph_100x_sync: Mean +- std dev: 507 ms +- 6 ms
.........................................
fanout_to_subgraph_100x_checkpoint: Mean +- std dev: 924 ms +- 43 ms
.........................................
fanout_to_subgraph_100x_checkpoint_sync: Mean +- std dev: 927 ms +- 16 ms
.........................................
react_agent_10x: Mean +- std dev: 30.8 ms +- 0.8 ms
.........................................
react_agent_10x_sync: Mean +- std dev: 22.4 ms +- 0.2 ms
.........................................
react_agent_10x_checkpoint: Mean +- std dev: 46.9 ms +- 0.8 ms
.........................................
react_agent_10x_checkpoint_sync: Mean +- std dev: 36.7 ms +- 0.8 ms
.........................................
react_agent_100x: Mean +- std dev: 344 ms +- 7 ms
.........................................
react_agent_100x_sync: Mean +- std dev: 272 ms +- 3 ms
.........................................
react_agent_100x_checkpoint: Mean +- std dev: 935 ms +- 9 ms
.........................................
react_agent_100x_checkpoint_sync: Mean +- std dev: 834 ms +- 11 ms
.........................................
wide_state_25x300: Mean +- std dev: 24.2 ms +- 0.5 ms
.........................................
wide_state_25x300_sync: Mean +- std dev: 15.5 ms +- 0.1 ms
.........................................
wide_state_25x300_checkpoint: Mean +- std dev: 279 ms +- 5 ms
.........................................
wide_state_25x300_checkpoint_sync: Mean +- std dev: 266 ms +- 5 ms
.........................................
wide_state_15x600: Mean +- std dev: 28.2 ms +- 0.4 ms
.........................................
wide_state_15x600_sync: Mean +- std dev: 17.8 ms +- 0.2 ms
.........................................
wide_state_15x600_checkpoint: Mean +- std dev: 478 ms +- 5 ms
.........................................
wide_state_15x600_checkpoint_sync: Mean +- std dev: 465 ms +- 9 ms
.........................................
wide_state_9x1200: Mean +- std dev: 28.3 ms +- 0.5 ms
.........................................
wide_state_9x1200_sync: Mean +- std dev: 17.9 ms +- 0.3 ms
.........................................
wide_state_9x1200_checkpoint: Mean +- std dev: 312 ms +- 5 ms
.........................................
wide_state_9x1200_checkpoint_sync: Mean +- std dev: 298 ms +- 4 ms
|
Comparison against main:
libs/langgraph/langgraph/constants.py#L1
+----------------------------------------+---------+-----------------------+
| Benchmark | main | changes |
+========================================+=========+=======================+
| fanout_to_subgraph_100x_checkpoint | 945 ms | 924 ms: 1.02x faster |
+----------------------------------------+---------+-----------------------+
| react_agent_10x_checkpoint | 47.1 ms | 46.9 ms: 1.01x faster |
+----------------------------------------+---------+-----------------------+
| react_agent_100x_checkpoint_sync | 838 ms | 834 ms: 1.00x faster |
+----------------------------------------+---------+-----------------------+
| react_agent_100x_checkpoint | 939 ms | 935 ms: 1.00x faster |
+----------------------------------------+---------+-----------------------+
| react_agent_10x_sync | 22.3 ms | 22.4 ms: 1.00x slower |
+----------------------------------------+---------+-----------------------+
| wide_state_15x600_sync | 17.8 ms | 17.8 ms: 1.00x slower |
+----------------------------------------+---------+-----------------------+
| wide_state_9x1200_sync | 17.8 ms | 17.9 ms: 1.01x slower |
+----------------------------------------+---------+-----------------------+
| wide_state_9x1200 | 28.2 ms | 28.3 ms: 1.01x slower |
+----------------------------------------+---------+-----------------------+
| wide_state_25x300_sync | 15.3 ms | 15.5 ms: 1.01x slower |
+----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_10x_checkpoint_sync | 94.6 ms | 95.5 ms: 1.01x slower |
+----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_100x_sync | 501 ms | 507 ms: 1.01x slower |
+----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_10x_sync | 51.4 ms | 52.1 ms: 1.01x slower |
+----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_100x | 606 ms | 641 ms: 1.06x slower |
+----------------------------------------+---------+-----------------------+
| Geometric mean | (ref) | 1.00x slower |
+----------------------------------------+---------+-----------------------+
Benchmark hidden because not significant (15): react_agent_10x, react_agent_10x_checkpoint_sync, wide_state_9x1200_checkpoint_sync, fanout_to_subgraph_100x_checkpoint_sync, wide_state_9x1200_checkpoint, react_agent_100x_sync, wide_state_25x300, wide_state_15x600_checkpoint, wide_state_25x300_checkpoint_sync, fanout_to_subgraph_10x, wide_state_25x300_checkpoint, wide_state_15x600_checkpoint_sync, react_agent_100x, wide_state_15x600, fanout_to_subgraph_10x_checkpoint
|