Implement RemotePregel
class and PregelProtocol
#475
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/protocol.py#L1
.........................................
fanout_to_subgraph_10x: Mean +- std dev: 50.9 ms +- 1.1 ms
.........................................
fanout_to_subgraph_10x_sync: Mean +- std dev: 44.2 ms +- 0.6 ms
.........................................
fanout_to_subgraph_10x_checkpoint: Mean +- std dev: 70.9 ms +- 1.6 ms
.........................................
fanout_to_subgraph_10x_checkpoint_sync: Mean +- std dev: 74.0 ms +- 0.6 ms
.........................................
fanout_to_subgraph_100x: Mean +- std dev: 500 ms +- 13 ms
.........................................
fanout_to_subgraph_100x_sync: Mean +- std dev: 428 ms +- 5 ms
.........................................
fanout_to_subgraph_100x_checkpoint: Mean +- std dev: 741 ms +- 24 ms
.........................................
fanout_to_subgraph_100x_checkpoint_sync: Mean +- std dev: 709 ms +- 6 ms
.........................................
react_agent_10x: Mean +- std dev: 28.5 ms +- 0.6 ms
.........................................
react_agent_10x_sync: Mean +- std dev: 20.4 ms +- 0.2 ms
.........................................
react_agent_10x_checkpoint: Mean +- std dev: 44.9 ms +- 4.4 ms
.........................................
WARNING: the benchmark result may be unstable
* the standard deviation (4.02 ms) is 12% of the mean (34.7 ms)
Try to rerun the benchmark with more runs, values and/or loops.
Run 'python -m pyperf system tune' command to reduce the system jitter.
Use pyperf stats, pyperf dump and pyperf hist to analyze results.
Use --quiet option to hide these warnings.
react_agent_10x_checkpoint_sync: Mean +- std dev: 34.7 ms +- 4.0 ms
.........................................
react_agent_100x: Mean +- std dev: 314 ms +- 7 ms
.........................................
react_agent_100x_sync: Mean +- std dev: 249 ms +- 2 ms
.........................................
react_agent_100x_checkpoint: Mean +- std dev: 897 ms +- 16 ms
.........................................
react_agent_100x_checkpoint_sync: Mean +- std dev: 813 ms +- 12 ms
.........................................
wide_state_25x300: Mean +- std dev: 18.8 ms +- 0.3 ms
.........................................
wide_state_25x300_sync: Mean +- std dev: 11.1 ms +- 0.1 ms
.........................................
wide_state_25x300_checkpoint: Mean +- std dev: 241 ms +- 7 ms
.........................................
wide_state_25x300_checkpoint_sync: Mean +- std dev: 242 ms +- 16 ms
.........................................
wide_state_15x600: Mean +- std dev: 21.8 ms +- 0.3 ms
.........................................
wide_state_15x600_sync: Mean +- std dev: 12.8 ms +- 0.1 ms
.........................................
wide_state_15x600_checkpoint: Mean +- std dev: 416 ms +- 12 ms
.........................................
wide_state_15x600_checkpoint_sync: Mean +- std dev: 418 ms +- 18 ms
.........................................
wide_state_9x1200: Mean +- std dev: 21.8 ms +- 0.3 ms
.........................................
wide_state_9x1200_sync: Mean +- std dev: 12.7 ms +- 0.1 ms
.........................................
wide_state_9x1200_checkpoint: Mean +- std dev: 269 ms +- 8 ms
.........................................
wide_state_9x1200_checkpoint_sync: Mean +- std dev: 274 ms +- 18 ms
|
Comparison against main:
libs/langgraph/langgraph/pregel/protocol.py#L1
+----------------------------------------+---------+-----------------------+
| Benchmark | main | changes |
+========================================+=========+=======================+
| wide_state_9x1200_sync | 12.9 ms | 12.7 ms: 1.01x faster |
+----------------------------------------+---------+-----------------------+
| wide_state_15x600_sync | 12.9 ms | 12.8 ms: 1.01x faster |
+----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_10x | 51.2 ms | 50.9 ms: 1.01x faster |
+----------------------------------------+---------+-----------------------+
| wide_state_25x300_sync | 11.1 ms | 11.1 ms: 1.01x faster |
+----------------------------------------+---------+-----------------------+
| react_agent_10x_sync | 20.5 ms | 20.4 ms: 1.01x faster |
+----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_10x_sync | 44.4 ms | 44.2 ms: 1.00x faster |
+----------------------------------------+---------+-----------------------+
| wide_state_9x1200 | 21.7 ms | 21.8 ms: 1.01x slower |
+----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_10x_checkpoint_sync | 73.4 ms | 74.0 ms: 1.01x slower |
+----------------------------------------+---------+-----------------------+
| wide_state_9x1200_checkpoint | 266 ms | 269 ms: 1.01x slower |
+----------------------------------------+---------+-----------------------+
| react_agent_100x_sync | 246 ms | 249 ms: 1.01x slower |
+----------------------------------------+---------+-----------------------+
| wide_state_15x600_checkpoint_sync | 413 ms | 418 ms: 1.01x slower |
+----------------------------------------+---------+-----------------------+
| wide_state_25x300_checkpoint | 237 ms | 241 ms: 1.02x slower |
+----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_10x_checkpoint | 69.4 ms | 70.9 ms: 1.02x slower |
+----------------------------------------+---------+-----------------------+
| wide_state_25x300_checkpoint_sync | 236 ms | 242 ms: 1.03x slower |
+----------------------------------------+---------+-----------------------+
| wide_state_9x1200_checkpoint_sync | 264 ms | 274 ms: 1.04x slower |
+----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_100x | 475 ms | 500 ms: 1.05x slower |
+----------------------------------------+---------+-----------------------+
| react_agent_100x_checkpoint | 825 ms | 897 ms: 1.09x slower |
+----------------------------------------+---------+-----------------------+
| fanout_to_subgraph_100x_checkpoint | 679 ms | 741 ms: 1.09x slower |
+----------------------------------------+---------+-----------------------+
| react_agent_100x_checkpoint_sync | 737 ms | 813 ms: 1.10x slower |
+----------------------------------------+---------+-----------------------+
| Geometric mean | (ref) | 1.02x slower |
+----------------------------------------+---------+-----------------------+
Benchmark hidden because not significant (9): react_agent_100x, react_agent_10x, wide_state_15x600, fanout_to_subgraph_100x_sync, fanout_to_subgraph_100x_checkpoint_sync, wide_state_25x300, wide_state_15x600_checkpoint, react_agent_10x_checkpoint, react_agent_10x_checkpoint_sync
|