Dropbox выпускает код для нового алгоритма сжатия DivANS

Технология / Dropbox выпускает код для нового алгоритма сжатия DivANS 1 минута на чтение

Заголовки Android



Если вы думали, что 7-Zip обеспечивает отличную степень сжатия, то, возможно, вас ждет удовольствие, поскольку Dropbox выпустил свой новый алгоритм сжатия DivANS как проект с открытым исходным кодом. Разработчики утверждают, что DivANS может сжимать данные более плотно, чем 7-Zip, Brotli или даже Zstandard.

В коде широко используется язык системного программирования Rust, спонсируемый Mozilla. Rust был разработан для обеспечения безопасности и одновременной работы, что делает его отличным языком для разработки такого рода программного обеспечения.



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



Другая более новая технология, называемая промежуточным представлением, дает разработчикам свободу объединять различные алгоритмы сжатия и, следовательно, со временем создавать лучшие оптимизаторы.



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

DivANS был выпущен под лицензией Apache License, что должно способствовать распространению кода, поскольку лицензия достаточно разрешительная. При этом производный код сжатия на основе DivANS может технически не распространяться с той же лицензией. Это несколько отличается от лицензий с авторским левом, которые сопровождают выпуски программного обеспечения на основе GPL.

Один из самых интересных аспектов алгоритма связан с его компиляцией. DivANS был написан на Rust, но был скомпилирован с использованием WebAssembly (WASM). Это может помочь объяснить, как уже доступна демоверсия браузера.



Код WASM был разработан для ускорения выполнения онлайн-подпрограмм, с которыми JavaScript и другие языки интерпретации столкнулись бы с трудностями. Хотя он не предназначен для замены JavaScript, это похоже на ситуацию, когда WASM действительно может быть полезен, поскольку написание алгоритма сжатия на JavaScript потенциально обрекает его на довольно медленное выполнение.

Учитывая огромный объем данных, которые Dropbox хранит от имени клиентов, можно легко увидеть преимущества нового метода сжатия с их точки зрения. Даже сокращение на 1-2 процента от общего объема данных, хранящихся в Dropbox, теоретически обеспечит значительную экономию. Это также могло бы сократить время, затрачиваемое на передачу данных по сети обратно пользователям.

Теги Dropbox