Dropbox släpper kod för ny DivANS-kompressionsalgoritm

Teknik / Dropbox släpper kod för ny DivANS-kompressionsalgoritm 1 minut läst

Android-rubriker



Om du trodde att 7-Zip gav utmärkta kompressionsförhållanden, kanske du är ute efter en behandling eftersom Dropbox släppte sin nya DivANS-kompressionsalgoritm som ett projekt med öppen källkod. Utvecklare hävdar att DivANS kan komprimera data tätare än 7-Zip, Brotli eller till och med Zstandard.

Koden använder omfattande programmeringsspråket Rust-system, som sponsras av Mozilla. Rust designades för att vara säkert och samtidigt, vilket gör det till ett utmärkt språk för att utveckla denna typ av programvara i.



DivANS använder ny inneboende vektorteknik som tillhandahålls av Rust-plattformen. Eftersom den är flertrådad bör den inte heller vara långsam.



En annan nyare teknik som kallas mellanrepresentation ger utvecklare friheten att tvinga samman olika kompressionsalgoritmer tillsammans och därför bygga bättre optimerare över tiden.



Det behöver inte sägas att projektet alltid letar efter mer samhällsengagemang från dem som vill frivilligt göra sin tid för att producera en bättre kompressionsalgoritm.

DivANS släpptes under Apache-licensen, vilket skulle hjälpa till att sprida koden eftersom licensen är ganska tillåtande. Med detta sagt kanske derivatkomprimeringskod baserad på DivANS tekniskt inte behöver distribueras med samma licens. Detta skiljer sig något från copyleftlicenser som följer med GPL-baserade programutgåvor.

En av de mest intressanta aspekterna av algoritmen är relaterad till dess sammanställning. DivANS skrevs i Rust, men det kompilerades mot WebAssembly (WASM). Detta kan hjälpa till att förklara hur det redan finns en webbläsardemo tillgänglig.



WASM-koden utformades för att påskynda körningen av online-underrutiner som JavaScript och andra tolkningsspråk skulle ha kämpat med. Även om det inte är avsett att ersätta JavaScript, ser det ut som en situation där WASM verkligen kan vara fördelaktigt eftersom det att skriva en komprimeringsalgoritm i JavaScript potentiellt skulle döma det till ganska långsam körning.

Med tanke på den enorma mängden data som Dropbox lagrar för kundernas räkning kan det vara lätt att se fördelarna med en ny komprimeringsmetod ur deras synvinkel. Till och med en minskning med 1 eller 2 procent av den totala mängden data Dropbox-butiker skulle ge teoretiskt stora besparingar. Det kan också minska den tid som skickas för att överföra data över ett nätverk tillbaka till användarna.

Taggar Dropbox