5 个不稳定版本
0.3.1 | 2023年11月15日 |
---|---|
0.3.0 | 2022年3月6日 |
0.2.0 | 2021年3月18日 |
0.1.1 | 2021年3月13日 |
0.1.0 | 2021年3月12日 |
#1602 在 解析器实现
74 每月下载量
在 cnfpack 中使用
130KB
2.5K SLoC
Flussab CNF
使用 DIMACS CNF 文件格式 的解析和写入,使用 flussab
实现。该库的目标是提供一个非常高效的 DIMACS CNF 文件格式的流式解析器,同时易于扩展到众多变体、扩展和相关文件格式。目前支持普通 CNF、WCNF 和 GCNF。
性能
我没有进行任何广泛的基准测试,但在我机器上解析和写入 2.1 GiB 的 CNF 文件(从 tmpfs
到和从 tmpfs
)需要 9 秒钟,而 coreutils
的 wc -w
执行一个更简单的任务需要 9.5 秒。
鉴于 SAT 求解器的运行时间几乎总是主导解析时间,因此关注 SAT 求解中使用的文件格式的解析性能可能看起来很荒谬。尽管如此,我经常发现自己处于需要为某些处理任务解析许多或大型 CNF 文件的情况,这些任务比求解本身要快得多。
许可证
本软件可在 Zero-Clause BSD 许可证下获得,有关完整的许可信息,请参阅 LICENSE。
贡献
除非您明确表示,否则您提交的任何旨在包含在此软件中的贡献都将按 LICENSE 中定义的许可证进行许可。
依赖关系
~0.5–1MB
~22K SLoC