#stack #recursion #algorithm #grow #points #growth #heap

stacker

一个在实现深度递归算法时,可能意外耗尽栈空间的栈增长库

17个版本

使用旧的Rust 2015

新版本 0.1.16 2024年8月21日
0.1.15 2022年7月23日
0.1.14 2021年5月23日
0.1.13 2021年1月14日
0.1.1 2015年7月23日

#10 in 算法

Download history 148757/week @ 2024-05-01 154193/week @ 2024-05-08 157712/week @ 2024-05-15 162992/week @ 2024-05-22 155432/week @ 2024-05-29 165412/week @ 2024-06-05 174028/week @ 2024-06-12 161979/week @ 2024-06-19 163179/week @ 2024-06-26 165448/week @ 2024-07-03 176958/week @ 2024-07-10 175042/week @ 2024-07-17 168197/week @ 2024-07-24 209457/week @ 2024-07-31 190422/week @ 2024-08-07 191448/week @ 2024-08-14

791,484每月下载量
用于 748 个crate(直接使用50个)

MIT/Apache

99KB
2K SLoC

GNU Style Assembly 1K SLoC // 0.1% comments Rust 593 SLoC // 0.1% comments Assembly 138 SLoC // 0.2% comments C 4 SLoC

stacker

Build Status

文档

Rust的栈增长库。允许在程序中标记可能需要增长更大的固定点。如果栈已达到其限制,则数据将溢出到堆。

此库旨在帮助实现递归算法。

# Cargo.toml
[dependencies]
stacker = "0.1"

平台支持

此库目前使用psm来实现跨平台功能,Windows是一个例外,它使用基于Fibers的实现。有关psm的支持表格,请参阅README。

在不支持的平台上,此库是一个空操作。它应该可以编译和运行,但它实际上不会增长栈,代码将继续遇到通常放置的守卫页。

许可证

此项目可在以下许可证下使用

供您选择。

贡献

除非您明确声明,否则您提交的任何旨在包含在此项目中的贡献,根据Apache-2.0许可证定义,均应按照上述方式双许可,没有任何额外的条款或条件。

依赖项

~0–11MB
~76K SLoC