Email or username:

Password:

Forgot your password?
iliazeus

Сегодня узнал, что функция `io::copy()` из стандартной библиотеки языка Rust умеет сама догадываться, что данные копируются из файла в файл, и использовать рефлинки, если они поддерживаются ОС и ФС - то есть, не перегонять байтики, а просто поставить ссылку в файловой системе на нужный блок с атрибутом copy on write.

Как оказалось, все это время это было в документации: doc.rust-lang.org/beta/std/io/

А я очень долго не мог понять, почему у меня данные в дофига быстрее раз обрабатываются, чем нужно. Думал, что где-то косяк в моем коде. А я, оказывается, просто привык этот код на ext4 запускать, а теперь у меня btrfs.

#til #rust

1 comment
iliazeus

Теперь, правда, возникает проблема с тем, что если хочу посмотреть, насколько долго код будет работать у большинства других людей, нужно тестировать его на более привычных файловых системах...

Go Up