The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Порт библиотеки сжатия Zstd на JavaScript"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Порт библиотеки сжатия Zstd на JavaScript"  +/
Сообщение от opennews (?), 21-Янв-18, 19:24 
Опубликован (https://github.com/yoshihitoh/zstd-codec) JavaScript-порт библиотеки для архивации данных Zstd (https://www.opennet.me/opennews/art.shtml?num=45058), обеспечивающей одно из лучших соотношений уровня сжатия к производительности. Порт сделан на основе оригинального кодека Zstandard (http://facebook.github.io/zstd/), преобразованного в  JavaScript при помощи компилятора Emscripten. Порт поддерживает использование словарей и может применяться в Node.js и в приложениях, выполняемых на стороне браузера.


URL: https://github.com/yoshihitoh/zstd-codec
Новость: http://www.opennet.me/opennews/art.shtml?num=47941

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Порт библиотеки сжатия Zstd на JavaScript"  +8 +/
Сообщение от фывфыв (?), 21-Янв-18, 19:24 
> Порт библиотеки сжатия Zstd на JavaScript
> пи помощи компилятора Emscripten

Может уже хватит это портом называть? Тогда любую сборку программы можно назвать портом для arm, amd64, GNU/Linux и т.д. -_-

Ответить | Правка | Наверх | Cообщить модератору

2. "Порт библиотеки сжатия Zstd на JavaScript"  +6 +/
Сообщение от Оболтус (?), 21-Янв-18, 19:28 
> Может уже хватит это портом называть?

Ну если код потом обработали и привели в читаемый вид, то почему бы и нет?

Ответить | Правка | Наверх | Cообщить модератору

12. "Порт библиотеки сжатия Zstd на JavaScript"  –2 +/
Сообщение от Xasd (ok), 21-Янв-18, 21:22 
> Ну если код потом обработали и привели в читаемый вид, то почему бы и нет?

кого привели в читаьельвый вид? бинарник?

Ответить | Правка | Наверх | Cообщить модератору

19. "Порт библиотеки сжатия Zstd на JavaScript"  +2 +/
Сообщение от pavlinux (ok), 21-Янв-18, 23:09 
Где бинарник? https://github.com/yoshihitoh/zstd-codec/blob/develop/js/lib...
Ответить | Правка | Наверх | Cообщить модератору

23. "Порт библиотеки сжатия Zstd на JavaScript"  +1 +/
Сообщение от irinat (ok), 22-Янв-18, 01:15 
https://github.com/yoshihitoh/zstd-codec/blob/develop/js/lib...
Ответить | Правка | Наверх | Cообщить модератору

24. "Порт библиотеки сжатия Zstd на JavaScript"  –1 +/
Сообщение от pavlinux (ok), 22-Янв-18, 05:14 
> https://github.com/yoshihitoh/zstd-codec/blob/develop/js/lib...

Ещё раз: где бинарник?
...


var Module = function(Module) {
  Module = Module || {};

var Module;if(!Module)Module=typeof Module !== 'undefined' ? Module : {};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof
require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_
....

Ответить | Правка | Наверх | Cообщить модератору

26. "Порт библиотеки сжатия Zstd на JavaScript"  +/
Сообщение от Аноним (-), 22-Янв-18, 09:01 
> Ещё раз: где бинарник?

У вебмакак и бинарники под стать:


var ASM_CONSTS=[];STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+20192;__ATINIT__.push({func:(function(){__GLOBAL__sub_I_zstd_binding_cc()})},{func:(function(){__GLOBAL__sub_I_bind_cpp()})});memoryInitializer="data:application/octet-stream;base64,lB8AAIokAACUHwAAKyUAALwfAACdJAAAEAAAAAAAAACUHwAAbSUAALwfAACwJQAAEAAAAAAAAACUHwAANyYAALwfAABzJgAAEAAAAAAAAACUHwAA+CYAALwfAAAyJwAAEAAAAAAAAACUHwAAwicAALwfAAAHKAAAEAAAAAAAAACUHwAAkCgAALwfAADOKAAAEAAAAAAAAACUHwAAVSkAAJQfAAD7KQAAOCAAAM8pAAAAAAAAAQAAAKgAAAAAAAAAOCAAAKspAAAAAAAAAQAAALAAAAAAAAAAACAAACAqAAAAAAAAyAAAAAAgAABFKgAAAQAAAMgAAACUHwAAoyoAALwfAACNKgAAAAEAAAAAAAC8HwAAvSoAAGgDAAAAAAAAACAAANkqAAAAAAAACAEAAAAgAADwKgAAAQAAAAgBAACUHwAAICsAALwfAAAIKwAASAEAAAAAAAAAIAAAOisAAAAAAABQAQAAACAAAFMrAAABAAAAUAEAAJQfAABtKwAAACAAAHgrAAAAAAAAgAEAAAAgAACEKwAAAQAAAIABAACUHwAAoCsAAAAgAAC8KwAAAAAAAKgBAAAAIAAA2SsAAAEAAACoAQAAlB8AAPcrAAAAIAAAFSwAAAAAAADQAQAAACAAADQsAAABAAAA0AEAALwfAAB5LAAAIAIAAAAAAAAAIAAAVCwAAAAAAAAYAgAAHCAAAGcsAACUHwAAvywAALwfAAATLQAAUAIAAAAAAAAAIAAA7iwAAAAAAABIAgAAHCAAAAEtAACUHwAAWS0AALwfAACvLQAAgAIAAAAAAAAAIAAAiC0AAAAAAAB4AgAAHCAAAJwtAACUHwAA9i0AALwfAABNLgAAsAIAAAAAAAAAIAAAJi4AAAAAAACoAgAAHCAAADouAACUHwAAlC4AADggAAA+NAAAAAAAAAEAAABgAwAAAAAAADggAAD/MwAAAAAAAAEAAABgAwAAAAAAADggAACaMwAAAAAAAAEAAABgAwAAAAAAAJQfAAB7MwAAlB8AAFwzAACUHwAAPTMAAJQfAAAeMwAAlB8AAP8yAACUHwAA4DIAAJQfAADBMgAAlB8AAKIyAACUHwAAgzIAAJQfAABkMgAAlB8AAEUyAACUHwAAJjIAAJQfAADZMwAAlB8AAIo+AAC8HwAA6j4AAIADAAAAAAAAvB8AAJc+AACQAwAAAAAAAJQfAAC4PgAAvB8AAMU+AABwAwAAAAAAALwfAAD

Все понятно, да? Не говоря о том что этот код весит 1.35 мегабайта, йо :)

Ответить | Правка | Наверх | Cообщить модератору

28. "Порт библиотеки сжатия Zstd на JavaScript"  +5 +/
Сообщение от X4asd (ok), 22-Янв-18, 13:18 
самый прикол ещё и в том что это лежит в РЕПОЗИТОРИИ ИСХОДНОГО КОДА..

ЛОЛ!

js-макака наверно думает, ну раз расширение js значит это исходник :-D

стыдоба-то-какая 😱

Ответить | Правка | Наверх | Cообщить модератору

33. "Порт библиотеки сжатия Zstd на JavaScript"  –2 +/
Сообщение от pavlinux (ok), 22-Янв-18, 23:02 
Амномном незнает что такое stream;base64, ? Ты как опеннет попал, по рассылке в порночатике?  
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

29. "Порт библиотеки сжатия Zstd на JavaScript"  +5 +/
Сообщение от irinat (ok), 22-Янв-18, 14:36 
>> https://github.com/yoshihitoh/zstd-codec/blob/develop/js/lib...
> Ещё раз: где бинарник?

Ну вот тут, например:


aA(g,h,10);k=qy(17994)|0;n=a[g+11>>0]|0;if((k|0)==((n<<24>>24<0?c[g+4>>2]|0:n&255)|0))q=(bA(g,17994,k)|0)==0;else q=0;Lz(g);if(q){JB(g);k=e+4|0;n=c[k>>2]|0;if(n>>>0<(c[e+8>>2]|0)>>>0){kA(n,g);c[k>>2]=(c[k>>2]|0)+24}else lA(e,g);uz(g)}else{c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];k=0;while(1){if((k|0)==3)break;c[h+(k<<2)>>2]=0;k=k+1|0}iA(g,i);k=e+4|0;n=c[k>>2]|0;if(n>>>0<(c[e+8>>2]|0)>>>0){kA(n,g);c[k>>2]=(c[k>>2]|0)+24}else lA(e,g);uz(g);Lz(i)}Lz(h);o=j+m|0}else o=b}else o=b;while(0);l=f;return o|0}function hA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;f=l;l=l+16|0;g=f;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;h=0;while(1){if((h|0)==3)break;c[b+(h<<2)>>2]=0;h=h+1|0}h=d+11|0;i=a[h>>0]|0;j=i<<24>>24<0?c[d+4>>2]|0:i&255;i=qy(e)|0;k=(a[h>>0]|0)<0?c[d>>2]|0:d;d=j+i|0;if(d>>>0>4294967279)xy(b);if(d>>>0<11){a[b+11>>0]=j;m=b}else{h=d+16&-16;d=Iz(h)|0;c[b>>2]=d;c[b+8>>2]=h|-2147483648;c[b+4>>2]=j;m=d}ry(m,k,j)|0;a[g>>0]=0;py(m+j|0,g);xz(b,e,i)|0;l=f;return}function iA(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}d=a+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;a=0;while(1){if((a|0)==3)break;c[d+(a<<2)>>2]=0;a=a+1|0}return}function jA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;f=e;g=b+11|0;if((a[g>>0]|0)<0){h=c[b>>2]|0;a[f>>0]=0;py(h,f);c[b+4>>2]=0}else{a[f>>0]=0;py(b,f);a[g>>0]=0}sA(b);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];g=0;while(1){if((g|0)==3)break;c[d+(g<<2)>>2]=0;g=g+1|0}g=b+12|0;h=d+12|0;d=g+11|0;if((a[d>>0]|0)<0){i=c[g>>2]|0;a[f>>0]=0;py(i,f);c[b+16>>2]=0}else{a[f>>0]=0;py(g,f);a[d>>0]=0}sA(g);c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];g=0;while(1){if((g|0)==3)break;c[h+(g<<2)>>2]=0;g=g+1|0}l=e;return}function kA(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}d=a+12|0;a=b+12|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];d=0;while(1){if((d|0)==3)break;c[a+(d<<2)>>2]=0;d=d+1|0}return}function lA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=l;l=l+32|0;e=d;f=a+4|0;g=(((c[f>>2]|0)-(c[a>>2]|0)|0)/24|0)+1|0;h=sB(a)|0;if(h>>>0<g>>>0)ty(a);else{i=c[a>>2]|0;j=((c[a+8>>2]|0)-i|0)/24|0;k=j<<1;tB(e,j>>>0<h>>>1>>>0?(k>>>0<g>>>0?g:k):h,((c[f>>2]|0)-i|0)/24|0,a+12|0);i=e+8|0;f=c[i>>2]|0;kA(f,b)

Ещё вот тут немного:


memoryInitializer="data:application/octet-stream;base64,lB8AAIokAACUHwAAKyUAALwfAACdJAAAEAAAAAAAAACUHwAAbSUAALwfAACwJQAAEAAAAAAAAACUHw\
AANyYAALwfAABzJgAAEAAAAAAAAACUHwAA+CYAALwfAAAyJwAAEAAAAAAAAACUHwAAwicAALwfAAAHKAAAEAA\
AAAAAAACUHwAAkCgAALwfAADOKAAAEAAAAAAAAACUHwAAVSkAAJQfAAD7KQAAOCAAAM8pAAAAAAAAAQAAAKgA\
AAAAAAAAOCAAAKspAAAAAAAAAQAAALAAAAAAAAAAACAAACAqAAAAAAAAyAAAAAAgAABFKgAAAQAAAMgAAACUH\
wAAoyoAALwfAACNKgAAAAEAAAAAAAC8HwAAvSoAAGgDAAAAAAAAACAAANkqAAAAAAAACAEAAAAgAADwKgAAAQ\
AAAAgBAACUHwAAICsAALwfAAAIKwAASAEAAAAAAAAAIAAAOisAAAAAAABQAQAAACAAAFMrAAABAAAAUAEAAJQ\
fAABtKwAAACAAAHgrAAAAAAAAgAEAAAAgAACEKwAAAQAAAIABAACUHwAAoCsAAAAgAAC8KwAAAAAAAKgBAAAA\
IAAA2SsAAAEAAACoAQAAlB8AAPcrAAAAIAAAFSwAAAAAAADQAQAAACAAADQsAAABAAAA0AEAALwfAAB5LAAAI\
AIAAAAAAAAAIAAAVCwAAAAAAAAYAgAAHCAAAGcsAACUHwAAvywAALwfAAATLQAAUAIAAAAAAAAAIAAA7iwAAA\
AAAABIAgAAHCAAAAEtAACUHwAAWS0AALwfAACvLQAAgAIAAAAAAAAAIAAAiC0AAAAAAAB4AgAAHCAAAJwtAAC\
UHwAA9i0AALwfAABNLgAAsAIAAAAAAAAAIAAAJi4AAAAAAACoAgAAHCAAADouAACUHwAAlC4AADggAAA+NAAA\
AAAAAAEAAABgAwAAAAAAADggAAD/MwAAAAAAAAEAAABgAwAAAAAAADggAACaMwAAAAAAAAEAAABgAwAAAAAAA\
JQfAAB7MwAAlB8AAFwzAACUHwAAPTMAAJQfAAAeMwAAlB8AAP8yAACUHwAA4DIAAJQfAADBMgAAlB8AAKIyAA\
CUHwAAgzIAAJQfAABkMgAAlB8AAEUyAACUHwAAJjIAAJQfAADZMwAAlB8AAIo+AAC8HwAA6j4AAIADAAAAAAA\
AvB8AAJc+AACQAwAAAAAAAJQfAAC4PgAAvB8AAMU+AABwAwAAAAAAALwfAAD/PwAAgAMAAAAAAAC8HwAA2z8A\
AKgDAAAAAAAAvB8AACFAAACAAwAAAAAAAOQfAABJQAAA5B8AAEtAAADkHwAATkAAAOQfAABQQAAA5B8AAFJAA\
ADkHwAAVEAAAOQfAABWQAAA5B8AAFhAAADkHwAAWkAAAOQfAABcQAAA5B8AANdFAADkHwAAXkAAAOQfAABgQA\
AA5B8AAGJAAAC8HwAAZEAAAIADAAAAAAAAvB8AAIlAAABwAwAAAAAAACAEAAAIAAAAIAQAACAEAADYAwAACAA\
AAAgAAAAgBAAAIAQAAAgAAADYAwAACAAAAAAAAAAYAAAAAQAAAAIAAAABAAAAAQAAAAMAAAAEAAAAAgAAAAEA\
AAACAAAAAAAAADAAAAABAAAABQAAAAMAAAADAAAABgAAAAcAAAAEAAAAAgAAAAQAAAAAAAAASAAAAAEAAAAIA\

Этот код не для чтения человеком, он сгенерирован. Понять его — задача сложнее полной ручной реализации на Javascript с нуля.

Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

34. "Порт библиотеки сжатия Zstd на JavaScript"  –3 +/
Сообщение от pavlinux (ok), 22-Янв-18, 23:05 
> Этот код не для чтения человеком, он сгенерирован.

Бедненькое поклонение копипастеров в расстройствах :D  
Скажи спасибо, что не криптованный блоб.
Хотя и такие распердоливали, запускали и еще доку к ним писали.

Ответить | Правка | Наверх | Cообщить модератору

35. "Порт библиотеки сжатия Zstd на JavaScript"  +/
Сообщение от Stax (ok), 23-Янв-18, 00:26 
Я вот могу сказать, что вы никогда не открывали исходный код - заботливно написанный руками на C! - какого-либо актуального компрессора или аудио-видео кодека. Потому что там ровно то же самое. Плотно упакованный заинлайненый код, как в первом примере, и большие таблицы безумных констант, как во втором. Отдельно - обычно вместе со статьей, которая изначально описывала алгоритм - иногда могли дать программу, которая эту самую таблицу констант, которая потом использовалась при сжатии создавала. Иногда могли не дать, просто сказать, что вот так-то и так-то начали, потом эвристику применили, потом руками потюнили и получили вот такую большой массив констант, используйте для такого-то преобразования на таком-то шаге (например).
Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

36. "Порт библиотеки сжатия Zstd на JavaScript"  +1 +/
Сообщение от irinat (ok), 23-Янв-18, 00:36 
> Я вот могу сказать, что вы никогда не открывали исходный код -
> заботливно написанный руками на C! - какого-либо актуального компрессора или аудио-видео

Некоторые открывал. Но ещё я заглядывал в файлы, которые Emscripten генерирует.

Ответить | Правка | Наверх | Cообщить модератору

37. "Порт библиотеки сжатия Zstd на JavaScript"  –1 +/
Сообщение от Stax (ok), 23-Янв-18, 20:54 
Да, я ошибся - сорри. Массив MemoryInitialization чисто emscripten'овская штука.
Ответить | Правка | Наверх | Cообщить модератору

25. "Порт библиотеки сжатия Zstd на JavaScript"  +1 +/
Сообщение от Аноним (-), 22-Янв-18, 08:58 
> Ну если код потом обработали и привели в читаемый вид, то почему бы и нет?

После emscripten и минификации код не сильно отличается от hexspeak'а.

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

3. "Порт библиотеки сжатия Zstd на JavaScript"  +3 +/
Сообщение от Crazy Alex (ok), 21-Янв-18, 20:01 
Там таки не просто сборка. Там обычно некоторые правки, написание обвязки и т.п. В общем, именно портирование. Другое дело, что писали бы не "на javascript", а "на asm.js" - было бы понятнее
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

5. "Порт библиотеки сжатия Zstd на JavaScript"  –26 +/
Сообщение от Аноним (-), 21-Янв-18, 20:04 
Отлично, JavaScript развивается. А хейтеры до сих пор "вспаменают" npm leftpad.
Ответить | Правка | Наверх | Cообщить модератору

6. "Порт библиотеки сжатия Zstd на JavaScript"  –3 +/
Сообщение от Аноним (-), 21-Янв-18, 20:07 
давно ждал, пока использовал lz4, но в нём нет словарей, сейчас буду переходить на zstd :)
Ответить | Правка | Наверх | Cообщить модератору

17. "Порт библиотеки сжатия Zstd на JavaScript"  +/
Сообщение от Led (ok), 21-Янв-18, 22:52 
уже есть
Ответить | Правка | Наверх | Cообщить модератору

7. "Порт библиотеки сжатия Zstd на JavaScript"  +2 +/
Сообщение от Аноним84701 (ok), 21-Янв-18, 20:16 
> JavaScript-порт библиотек ... обеспечивающего одно из лучших соотношений уровня сжатия к производительности
> JavaScript-порт
> производительности
> JavaScript

https://github.com/yoshihitoh/zstd-codec
> TODO
> performance test

И как, соотношение просело всего в 2 раза? Или до 5-8 вообще "не считается!™" ?

Ответить | Правка | Наверх | Cообщить модератору

8. "Порт библиотеки сжатия Zstd на JavaScript"  –5 +/
Сообщение от Аноним (-), 21-Янв-18, 20:32 
производительности тебе хватит чтобы сжимать данные на браузере и отправлять их по вебсокету на сервер, экономя тем самым трафик клиентов, а там уже как угодно, можешь на ноде обрабатывать, можешь на С сервер написать.
Ответить | Правка | Наверх | Cообщить модератору

11. "Порт библиотеки сжатия Zstd на JavaScript"  +2 +/
Сообщение от ffirefox (?), 21-Янв-18, 21:14 
А батарейку при этом сильно кушает?

Ответить | Правка | Наверх | Cообщить модератору

13. "Порт библиотеки сжатия Zstd на JavaScript"  –1 +/
Сообщение от Аноним (-), 21-Янв-18, 21:27 
asmjs/webasm или SIMD.js ?
Ответить | Правка | Наверх | Cообщить модератору

22. "Порт библиотеки сжатия Zstd на JavaScript"  +7 +/
Сообщение от Аноним (-), 22-Янв-18, 00:14 
А это проблема клиента, макак она не волнует.
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

20. "Порт библиотеки сжатия Zstd на JavaScript"  +6 +/
Сообщение от Аноним (-), 21-Янв-18, 23:32 
Content-Encoding: gzip
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

10. "Порт библиотеки сжатия Zstd на JavaScript"  +1 +/
Сообщение от Аноним (-), 21-Янв-18, 21:10 
Зачем это, если JS толком ничего полезного не даст?
Ответить | Правка | Наверх | Cообщить модератору

14. "Порт библиотеки сжатия Zstd на JavaScript"  –2 +/
Сообщение от Аноним (-), 21-Янв-18, 21:37 
Если на стороне клиента, то полезно для соединения через EDGE. А так все форматы медиа и документов уже ужатые.
Ответить | Правка | Наверх | Cообщить модератору

30. "Порт библиотеки сжатия Zstd на JavaScript"  +1 +/
Сообщение от Аноним (-), 22-Янв-18, 16:10 
Тем что быстрее батарею посадит?
Ответить | Правка | Наверх | Cообщить модератору

32. "Порт библиотеки сжатия Zstd на JavaScript"  +/
Сообщение от Аноним (-), 22-Янв-18, 19:09 
А браузер не пожмёт? (если только это не использовать для тех, которые не поддерживают).
А вообще имхо, что этим можно жать/расжать какие-нибудь ресурсы, хранящиеся на стороне, игры например, или ещё чего. Можно в Electron засунуть, гагага.
Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

27. "Порт библиотеки сжатия Zstd на JavaScript"  +/
Сообщение от Аноним (-), 22-Янв-18, 10:29 
Предполагаю, скорость - адская.


Ответить | Правка | Наверх | Cообщить модератору

38. "Порт библиотеки сжатия Zstd на JavaScript"  +/
Сообщение от Анонимemail (38), 02-Июл-24, 15:07 
Кто пробовал?

У обычного Zstandart много "Режимов". Часто много данных нужно передать с только от сервера к клиенту. Вот здесь есть [плохое] сравнение zstd и gzip: https://jothiprasath.com/blog/gzip-vs-zstd/

Из сравнения видно, что zstd:3 всем лучше gzip, а zstd:19 сжимает ОЧЕНЬ медленно, но время распаковки не сильно отличается от gzip.
Поэтому если передавать МНОГО данных (большое количество статики) Будет выгоднее. Меньше трафика (заметно) (+\- та же скорость распаковки (здесь я не верю в 7% (zstd) и 10% (gzip) нагрузки на цп)).

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру