lje*_*drz 5 stack os-agnostic rust
我正在使用 lambda 演算,并且希望有更多的堆栈空间,以便能够构建和计算(非常)长的函数链。有没有办法增加板条箱的它,类似于增加递归限制(#![recursion_limit = "100"])?
该板条箱是一个库,我希望它能够执行堆栈密集型操作,无论目标操作系统如何。
lje*_*drz 10
经过一些研究,我得出的结论是,没有一种通用的方法可以实现我所追求的目标,但是使用std::thread::Builder我能够创建一个具有指定堆栈大小的额外线程,并在其中执行堆栈密集型操作:
fn huge_reduction() {
let builder = thread::Builder::new()
.name("reductor".into())
.stack_size(32 * 1024 * 1024); // 32MB of stack space
let handler = builder.spawn(|| {
// stack-intensive operations
}).unwrap();
handler.join().unwrap();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6431 次 |
| 最近记录: |