Тема опубликована в данном разделе в виду того, что вопрос затрагивает не столько криптографию, сколько работу с железом.
Потихноньку разбираюсь с многопоточным шифрованием. Пишу на Rust, хотя значения это не имеет.
Проводить замеры и тесты, приближенные к реальным условиям, очень сложно и муторно.
Предпологаю, что тут есть умные люди, которые в этом разбираются и могут дать несколько наводок, которые очень сильно упростят мне жизнь)
И так, мы хотим шифровать файлы, при чем в нескольких потоках.
Для больших файлов мы можем и должны использовать блочное шифрование.
Но стоит ли его использовать для небольших файлов, которых большинство, как правило?
Может ли одновременная аллокация в памяти нескольких крупных объектов(10мб, например) нарушить нормальную работу системы?
Кустарные замеры показали отставание на 15-25% при использовании буфера 8кб для файла размером 11мб (ChaCha20)
Довольно существенно.
Стоит также отметить, что тест проводился на SSD, в одном потоке.
А что, если в качестве хранилища будет выступать старый жесткий диск, каждое оброщение к которому будет занимать в десятки раз больше времени?
Можно представить сколько будет генерироваться обращений в режиме многопоточности.
Более редкие обращаения к диску, больший объем записи за раз или частые обращения и меньший объем?
Что из этого будет быстрее с точки зрения времени, затраченного на запись?
Заранее спасибо!
И извините, если вопрос изложен слегка беспорядочно)
Потихноньку разбираюсь с многопоточным шифрованием. Пишу на Rust, хотя значения это не имеет.
Проводить замеры и тесты, приближенные к реальным условиям, очень сложно и муторно.
Предпологаю, что тут есть умные люди, которые в этом разбираются и могут дать несколько наводок, которые очень сильно упростят мне жизнь)
И так, мы хотим шифровать файлы, при чем в нескольких потоках.
Для больших файлов мы можем и должны использовать блочное шифрование.
Но стоит ли его использовать для небольших файлов, которых большинство, как правило?
Может ли одновременная аллокация в памяти нескольких крупных объектов(10мб, например) нарушить нормальную работу системы?
Кустарные замеры показали отставание на 15-25% при использовании буфера 8кб для файла размером 11мб (ChaCha20)
Довольно существенно.
Стоит также отметить, что тест проводился на SSD, в одном потоке.
А что, если в качестве хранилища будет выступать старый жесткий диск, каждое оброщение к которому будет занимать в десятки раз больше времени?
Можно представить сколько будет генерироваться обращений в режиме многопоточности.
Более редкие обращаения к диску, больший объем записи за раз или частые обращения и меньший объем?
Что из этого будет быстрее с точки зрения времени, затраченного на запись?
Заранее спасибо!
И извините, если вопрос изложен слегка беспорядочно)