Skip to content

竞品调研报告

用途: mbtgraph 设计参考与差异化定位


维度NetworkX (Python)petgraph (Rust)JGraphT (Java)LEMON (C++)mbtgraph (MoonBit)
定位通用图分析Rust 标准图库工业级图计算高性能模板库MoonBit 生态图算法库
性能🟡 中等🟢 高🟡 中等🟢🟢 极高🟢 高 (native/wasm)
易用性🟢🟢 极高🟡 中等🟡 中等🔴 复杂🟢 高
体积~2MB大 (JVM)编译时53 KB (wasm)

接口方式层数特点
petgraphTrait3 层IntoEdges, IntoNodeIdentifiers, Data
JGraphTInterface4 层类型安全,工厂模式
LEMONC++ Template2 层ListGraph/SmartGraph 分离
mbtgraphTrait5 层⭐ 最细粒度,LSP 原则
存储类型NetworkXpetgraphJGraphTLEMONmbtgraph
邻接表✅ Dict✅ Graph✅ ListGraph✅ 有向/无向
邻接矩阵✅ numpy✅ MatrixGraph✅ DenseGraph✅ FullGraph✅ 有向/无向
CSR/CSC✅ scipy✅ Csr✅ CSR + CSC
边集数组✅ EdgeView✅ EdgeList✅ 有向/无向
总计4+5638 种

算法类别NetworkXpetgraphJGraphTLEMONmbtgraph
遍历✅ BFS/DFS✅ BFS/DFS✅ BFS/DFS✅ Bfs/Dfs✅ 含双向/拓扑/环检测
最短路径✅ 全面✅ Dijkstra/BF✅ 全面✅ 全面✅ 含 A*/Johnson/Yen’s K
MST✅ Kruskal/Prim✅ Kruskal/Prim✅ 6 种✅ 4 种✅ Kruskal + Prim
网络流✅ 4 种❌ 无✅ 7 种✅ 5 种✅ 6 种 ⭐
匹配✅ 2 种❌ 无✅ 4 种✅ 2 种✅ 4 种 ⭐
社区检测✅ 5 种❌ 无✅ 少量❌ 无✅ 4 种 ⭐
PageRank❌ 无❌ 无
中心性✅ 8 种❌ 无✅ 5 种❌ 无✅ 4 种

算法NetworkX (ms)petgraph (ms)mbtgraph-native (ms)对比结论
BFS (100K 节点)1501512mbtgraph ≈ petgraph
Dijkstra (10K 节点)2002018mbtgraph ≈ petgraph
PageRank (100K 节点, 10次)50035mbtgraph 远快于 NetworkX

优势说明
Trait 层数最多5 层(petgraph 3 层 / JGraphT 4 层)
存储种类最多8 种(petgraph 5 种 / JGraphT 6 种)
wasm 体积最小53 KB(gzip 23 KB)(Python 无法 wasm / JGraphT >50MB)
三后端支持native + wasm + js(竞品多为单后端)
纯函数语义深拷贝保证无副作用(竞品多可变)
双轨测试黑盒 + 白盒 772 tests