The OpenNET Project / Index page

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

21.01.2018 18:01  Порт библиотеки сжатия Zstd на JavaScript

Опубликован JavaScript-порт библиотеки для сжатия данных с использованием алгоритма Zstd, обеспечивающего одно из лучших соотношений уровня сжатия к производительности. Порт сделан на основе оригинального кодека Zstandard, преобразованного в JavaScript при помощи компилятора Emscripten. Порт поддерживает использование словарей и может применяться в Node.js и в приложениях, выполняемых на стороне браузера.

  1. Главная ссылка к новости (https://github.com/yoshihitoh/...)
  2. OpenNews: Выпуск библиотеки сжатия LZHAM 1.0, нацеленной на создание более быстрой альтернативы LZMA
  3. OpenNews: Автор LZ4 представил новый быстрый и эффективный алгоритм сжатия ZSTD
  4. OpenNews: Dropbox опубликовал реализацию алгоритма сжатия изображений Lepton
  5. OpenNews: Facebook опубликовал реализацию алгоритма сжатия Zstandard 1.0
  6. OpenNews: Компания Google открыла код Draco, библиотеки для эффективного сжатия 3D-графики
Автор новости: Аноним
Тип: Программы
Ключевые слова: zstd, javascript
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, фывфыв (?), 19:24, 21/01/2018 [ответить] [показать ветку] [···]    [к модератору]
  • +6 +/
    > Порт библиотеки сжатия Zstd на JavaScript
    > пи помощи компилятора Emscripten

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

     
     
  • 2.2, Оболтус (?), 19:28, 21/01/2018 [^] [ответить]    [к модератору]
  • +5 +/
    > Может уже хватит это портом называть?

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

     
     
  • 3.12, Xasd (ok), 21:22, 21/01/2018 [^] [ответить]    [к модератору]
  • –2 +/
    > Ну если код потом обработали и привели в читаемый вид, то почему бы и нет?

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

     
     
  • 4.19, pavlinux (ok), 23:09, 21/01/2018 [^] [ответить]    [к модератору]
  • +3 +/
    Где бинарник? https://github.com/yoshihitoh/zstd-codec/blob/develop/js/lib/zstd-codec.js
     
     
  • 5.23, irinat (ok), 01:15, 22/01/2018 [^] [ответить]    [к модератору]
  • +/
    https://github.com/yoshihitoh/zstd-codec/blob/develop/js/lib/zstd-codec-bindin
     
     
  • 6.24, pavlinux (ok), 05:14, 22/01/2018 [^] [ответить]    [к модератору]  
  • +/
    > https://github.com/yoshihitoh/zstd-codec/blob/develop/js/lib/zstd-codec-bindin

    Ещё раз: где бинарник?
    ...
    [code]
    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_
    ....
    [/code]

     
     
  • 7.26, Аноним (-), 09:01, 22/01/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    У вебмакак и бинарники под стать code var ASM_CONSTS STATIC_BASE GLOBAL_BA... весь текст скрыт [показать]
     
     
  • 8.28, X4asd (ok), 13:18, 22/01/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    самый прикол ещё и в том что это лежит в РЕПОЗИТОРИИ ИСХОДНОГО КОДА..

    ЛОЛ!

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

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

     
  • 8.33, pavlinux (ok), 23:02, 22/01/2018 [^] [ответить]    [к модератору]  
  • +/
    Амномном незнает что такое stream;base64, ? Ты как опеннет попал, по рассылке в порночатике?  
     
  • 7.29, irinat (ok), 14:36, 22/01/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Ну вот тут, например code aA g,h,10 k qy 17994 124 0 n a g 11 0 124 0 i... весь текст скрыт [показать]
     
     
  • 8.34, pavlinux (ok), 23:05, 22/01/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    > Этот код не для чтения человеком, он сгенерирован.

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

     
  • 8.35, Stax (ok), 00:26, 23/01/2018 [^] [ответить]    [к модератору]  
  • +/
    Я вот могу сказать, что вы никогда не открывали исходный код - заботливно написанный руками на C! - какого-либо актуального компрессора или аудио-видео кодека. Потому что там ровно то же самое. Плотно упакованный заинлайненый код, как в первом примере, и большие таблицы безумных констант, как во втором. Отдельно - обычно вместе со статьей, которая изначально описывала алгоритм - иногда могли дать программу, которая эту самую таблицу констант, которая потом использовалась при сжатии создавала. Иногда могли не дать, просто сказать, что вот так-то и так-то начали, потом эвристику применили, потом руками потюнили и получили вот такую большой массив констант, используйте для такого-то преобразования на таком-то шаге (например).
     
     
  • 9.36, irinat (ok), 00:36, 23/01/2018 [^] [ответить]    [к модератору]  
  • +/
    > Я вот могу сказать, что вы никогда не открывали исходный код -
    > заботливно написанный руками на C! - какого-либо актуального компрессора или аудио-видео

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

     
     
  • 10.37, Stax (ok), 20:54, 23/01/2018 [^] [ответить]    [к модератору]  
  • +/
    Да, я ошибся - сорри. Массив MemoryInitialization чисто emscripten'овская штука.
     
  • 3.25, Аноним (-), 08:58, 22/01/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    > Ну если код потом обработали и привели в читаемый вид, то почему бы и нет?

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

     
  • 2.3, Crazy Alex (ok), 20:01, 21/01/2018 [^] [ответить]    [к модератору]  
  • +3 +/
    Там таки не просто сборка. Там обычно некоторые правки, написание обвязки и т.п. В общем, именно портирование. Другое дело, что писали бы не "на javascript", а "на asm.js" - было бы понятнее
     
  • 1.5, Аноним (-), 20:04, 21/01/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –25 +/
    Отлично, JavaScript развивается. А хейтеры до сих пор "вспаменают" npm leftpad.
     
  • 1.6, Аноним (-), 20:07, 21/01/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    давно ждал, пока использовал lz4, но в нём нет словарей, сейчас буду переходить на zstd :)
     
     
  • 2.17, Led (ok), 22:52, 21/01/2018 [^] [ответить]    [к модератору]  
  • +/
    уже есть
     
  • 1.7, Аноним84701 (ok), 20:16, 21/01/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    > JavaScript-порт библиотек ... обеспечивающего одно из лучших соотношений уровня сжатия к производительности
    > JavaScript-порт
    > производительности
    > JavaScript

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

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

     
     
  • 2.8, Аноним (-), 20:32, 21/01/2018 [^] [ответить]     [к модератору]  
  • –4 +/
    производительности тебе хватит чтобы сжимать данные на браузере и отправлять их ... весь текст скрыт [показать]
     
     
  • 3.11, ffirefox (?), 21:14, 21/01/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    А батарейку при этом сильно кушает?

     
     
  • 4.13, Аноним (-), 21:27, 21/01/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    asmjs/webasm или SIMD.js ?
     
  • 4.22, Аноним (-), 00:14, 22/01/2018 [^] [ответить]    [к модератору]  
  • +7 +/
    А это проблема клиента, макак она не волнует.
     
  • 3.20, Аноним (-), 23:32, 21/01/2018 [^] [ответить]    [к модератору]  
  • +6 +/
    Content-Encoding: gzip
     
  • 1.10, Аноним (-), 21:10, 21/01/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Зачем это, если JS толком ничего полезного не даст?
     
     
  • 2.14, Аноним (-), 21:37, 21/01/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Если на стороне клиента, то полезно для соединения через EDGE. А так все форматы медиа и документов уже ужатые.
     
     
  • 3.30, Аноним (-), 16:10, 22/01/2018 [^] [ответить]    [к модератору]  
  • +/
    Тем что быстрее батарею посадит?
     
  • 3.32, Аноним (-), 19:09, 22/01/2018 [^] [ответить]     [к модератору]  
  • +/
    А браузер не пожмёт если только это не использовать для тех, которые не поддер... весь текст скрыт [показать]
     
  • 1.27, Аноним (-), 10:29, 22/01/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Предполагаю, скорость - адская.


     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


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