Re[2]: Are we stack-efficient yet?
От: _NN_  
Дата: 22.11.22 10:35
Оценка: 18 (2)
Здравствуйте, ArtDenis, Вы писали:

AD>Или там просто средние по больнице замеры специальной версией LLVM какого-то кода на плюсах и какого-то кода на расте?


Пожалуйста:
Перед тем как положить объект в куче, Rust обязан сначала создать его на стеке, а потом скопировать в кучу.

Rust:
pub fn main() {
    let big_value = Box::new([0u8; 8 * 1024 * 1024]);
}


thread 'main' has overflowed its stack
fatal runtime error: stack overflow


C++:
#include <array>

int main()
{
    auto big_value = new std::array<unsigned char, 8 * 1024 * 1024>(); 
}


Program returned: 0

http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.