DEREFERENCE_POINTER_THERE Telegram 10232
Блог*
#prog #cpp #rust #article Why we didn't rewrite our feed handler in Rust Отдельно отмечается, что Rust в технологическом стеке в этой компании уже есть и успешно используется. Проблемы возникли с переписыванием конкретного компонента, который уже есть и…
Надо отметить, что первый пример с оптимизацией действительно не компилируется в лоб, но это не значит, что от аллокации в цикле нельзя избавиться. Именно, вот такой код с использованием bumpalo компилируется:

fn process_source(sources: Vec<Source>) {
let b = bumpalo::Bump::new();
for source in sources {
let data = source.fetch_data();
let mut buffer = bumpalo::collections::Vec::new_in(&b);
buffer.extend(data.split(splitter);
process_data(&buffer);
}
}


В этом коде арена, которая в реализации и выделяет память, конструируется один раз за пределами цикла и позволяет переиспользовать память, но версия вектора из bumpalo создаётся заново на каждой итерации и потому может позволить себе иметь время жизни, сравнимое с временами жизни переменной итерации. Вызывать при этом явно .clear() за счёт RAII не требуется.
🤔6🤡4🤮1



tgoop.com/dereference_pointer_there/10232
Create:
Last Update:

Надо отметить, что первый пример с оптимизацией действительно не компилируется в лоб, но это не значит, что от аллокации в цикле нельзя избавиться. Именно, вот такой код с использованием bumpalo компилируется:

fn process_source(sources: Vec<Source>) {
let b = bumpalo::Bump::new();
for source in sources {
let data = source.fetch_data();
let mut buffer = bumpalo::collections::Vec::new_in(&b);
buffer.extend(data.split(splitter);
process_data(&buffer);
}
}


В этом коде арена, которая в реализации и выделяет память, конструируется один раз за пределами цикла и позволяет переиспользовать память, но версия вектора из bumpalo создаётся заново на каждой итерации и потому может позволить себе иметь время жизни, сравнимое с временами жизни переменной итерации. Вызывать при этом явно .clear() за счёт RAII не требуется.

BY Блог*


Share with your friend now:
tgoop.com/dereference_pointer_there/10232

View MORE
Open in Telegram


Telegram News

Date: |

On Tuesday, some local media outlets included Sing Tao Daily cited sources as saying the Hong Kong government was considering restricting access to Telegram. Privacy Commissioner for Personal Data Ada Chung told to the Legislative Council on Monday that government officials, police and lawmakers remain the targets of “doxxing” despite a privacy law amendment last year that criminalised the malicious disclosure of personal information. "Doxxing content is forbidden on Telegram and our moderators routinely remove such content from around the world," said a spokesman for the messaging app, Remi Vaughn. 2How to set up a Telegram channel? (A step-by-step tutorial) A new window will come up. Enter your channel name and bio. (See the character limits above.) Click “Create.” Read now
from us


Telegram Блог*
FROM American