Это здорово, спасибо. Я знал, что это был большой стек, а также знал, что тесты выполнялись параллельно, хотя я не знал, что тесты не были.
сь написать оптимизированный алгоритм DSP, я задавался вопросом об относительной скорости между выделением стека и распределением кучи и предельными размерами массивов, выделенных стеком. Я понимаю, что существует ограничение размера фрейма стека, но я не понимаю, почему следующие прогоны приводят к реалистичным результатам теста сcargo bench
, но завершается с переполнением стека при запуске сcargo test --release
.
#![feature(test)]
extern crate test;
#[cfg(test)]
mod tests {
use test::Bencher;
#[bench]
fn it_works(b: &mut Bencher) {
b.iter(|| { let stack = [[[0.0; 2]; 512]; 512]; });
}
}