#graph #low-overhead #performance #focused

eta-graph

低开销的图形库,专注于性能

2个稳定版本

1.0.1 2024年8月18日

#99 in 科学


用于eikon

自定义许可证

95KB
2K SLoC

Eta-Graph

这是什么?

Eta-Graph是一个低开销的图形库,特别强调性能和内存使用。

它还处于早期阶段,将进一步改进该库。

为什么要使用它?

  • 低开销
  • 性能
  • 易用性
  • 可扩展性

如何使用它?

文档将很快添加。该库仍在开发中。

测试

该库有广泛的测试。测试位于tests文件夹中。

基准测试

基准测试位于benches文件夹中。Pet-graph用作基准测试的比较库。这就是为什么它位于dev-dependencies中的原因。

我将在以后添加基准测试表。您可以自己运行它们以比较您机器上的性能。

测试的机器

处理器:AMD Ryzen 9 7900X 12核心处理器 4.70 GHz 安装RAM:32.0 GB(31.1 GB可用)

路径查找速度比petgraph快2倍。

BFS比petgraph快40%。

DFS比petgraph快2倍。

我尚未进行最大流量的基准测试。

我将在以后记录确切的数字并进行更详细的基准测试。

配置

该库通过build.rs脚本进行配置。您可以通过设置环境变量MSize为您想要的尺寸来更改配置。默认是u64

这用于确定边的尺寸。较小=更好的缓存性能。

可能的值是

  • u16
  • u32
  • u64

我建议在项目根目录中创建.cargo/config.toml,并包含以下内容:

[env]
MSize = "u64" # Change this to the size you want

这将使库使用u64进行边尺寸。

许可证

基于MIT的自定义许可证

版权所有 © 2024 Helecz Erik

以下是对任何获得此软件及其相关文档副本(“软件”)的人的免费许可,以无限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供的人这样做,前提是遵守以下条件

  1. 上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

  2. 软件可用于任何目的,包括商业应用。

  3. 用户不得为了创建独立发行版的目的,对软件的仓库或代码库进行分叉或创建副本。

  4. 对软件的任何修改、改进或添加都必须以pull requests的形式提交到原始仓库。版权所有者保留批准、修改或拒绝这些pull requests的权利。

  5. 本许可证明确禁止在任何其他许可条款下重新分发软件或任何修改版本。

软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的,包括但不限于适销性、特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论这些责任是因合同、侵权或其他原因产生的,与软件或软件的使用或其他方式相关。

依赖项

~53KB