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解析器实现

Download history 41/week @ 2024-04-01 10/week @ 2024-06-03

74 每月下载量
cnfpack 中使用

0BSD 许可证

130KB
2.5K SLoC

Flussab CNF

github crates.io docs.rs

使用 DIMACS CNF 文件格式 的解析和写入,使用 flussab 实现。该库的目标是提供一个非常高效的 DIMACS CNF 文件格式的流式解析器,同时易于扩展到众多变体、扩展和相关文件格式。目前支持普通 CNF、WCNF 和 GCNF。

性能

我没有进行任何广泛的基准测试,但在我机器上解析和写入 2.1 GiB 的 CNF 文件(从 tmpfs 到和从 tmpfs)需要 9 秒钟,而 coreutilswc -w 执行一个更简单的任务需要 9.5 秒。

鉴于 SAT 求解器的运行时间几乎总是主导解析时间,因此关注 SAT 求解中使用的文件格式的解析性能可能看起来很荒谬。尽管如此,我经常发现自己处于需要为某些处理任务解析许多或大型 CNF 文件的情况,这些任务比求解本身要快得多。

许可证

本软件可在 Zero-Clause BSD 许可证下获得,有关完整的许可信息,请参阅 LICENSE

贡献

除非您明确表示,否则您提交的任何旨在包含在此软件中的贡献都将按 LICENSE 中定义的许可证进行许可。

依赖关系

~0.5–1MB
~22K SLoC