問題タブ [lz4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
compression - LZ4 一致検索アルゴリズム (高速スキャン)
無限の深さのハッシュ チェーンに基づく LZ77/LZ4 (エントロピー エンコーディングなし) ベースの圧縮アルゴリズムを実装しました。うまく機能し、速度も許容範囲ですが、圧縮率は LZ4 に近いです。ドキュメントを読んで LZ4 プロジェクトのソース コードを閲覧すると、深さ 1 のハッシュ チェーンが使用されていることは理解できますが、実装の深さを 1 に修正すると、LZ4 のパフォーマンスが向上します。
LZ4 一致検索アルゴリズム (高速スキャン) の仕組みがわかりません。誰かがそれを説明できますか?
ありがとう。
c - C を使用した double 値の圧縮
値のデータセットdouble
(1024 x 1024 マトリックス) があります。lz4
このデータを圧縮するために圧縮アルゴリズムを使用することを考えています。圧縮後、このデータをサーバーに送信し、サーバー側で何らかの処理を行ってローカル マシンに戻す必要があります。私は圧縮に不慣れで、ほとんど混乱していません。
最初にこれらのdouble
値をファイルまたはその他の形式に入れてから圧縮する必要がありますか、それともファイルまたはその他の形式に入れずに直接値を圧縮できますか?
次に、圧縮以外の推奨事項があれば、lz4
共有してください。
centos - rpm ベースのマシンに lz4 共有ライブラリをインストールするには?
CentOS に lz4 ライブラリをインストールしようとしましたが、次のエラーで失敗しました。
liblz4.so をセットアップする正しい方法は何ですか?
また、CentOS 用の lz4 rpm パッケージは見つかりませんが、他の rpm ベースのオペレーティング システムでは利用できます。CentOS で lz4 はサポートされていますか?
c - lz4 ダブル バッファの例を説明する
lz4 の例では、「https://github.com/Cyan4973/lz4/blob/master/examples/blockStreaming_doubleBuffer.c」という名前の doublebuffer があります。これはchar inpBuf[2][BLOCK_BYTES]
、read-compress ループ中に a を使用し、inpBuf[0][]、inpBuf[1][] を交互に使用します。
これのメリットが理解できません。単一のバッファを使用しないのはなぜですか? 私は何が欠けていますか?
apache-spark - Apache Spark での LZ4 の使用
Apache Spark で LZ4 圧縮を使用しようとしていますが、通常のtextFile
方法で十分であることを理解しています。ただし、圧縮されていないファイルをロードするとすべてが期待どおりに機能しますが、lz4 圧縮すると出力が空になります。
問題が圧縮と解凍の方法に関連しているかどうか疑問に思っています。Java ライブラリhttps://github.com/jpountz/lz4-javaバージョン 1.3.0 (lz4 バージョン 123) を使用してファイルを圧縮しています。ただし、Spark ワーカーがインストールされているマシンには、他のバージョン用の Hadoop ネイティブ ライブラリがあります。コマンドを実行してそれらを確認すると、次のように表示されます。
次に、lz4.so ライブラリをインストールするためにインストールする RPM は次のとおりです。
ご覧のとおり、LZ4 の 3 つの異なるバージョンがあるようですが、同じバージョンを見つけることができません。私の最初の質問は、同じバージョンを持っていなくても、これは機能するのでしょうか?
そうでない場合、Spark のネイティブ ライブラリを正しく構成して lz4 圧縮ファイルを理解するにはどうすればよいですか?
私は Spark 1.1.0 を使用しており、--driver-library-path
with経由でネイティブ ライブラリの場所を渡していますspark-submit
。
ruby-on-rails - Ruby on Rails での LZ4 の使用
lz4-ruby gem を使用しています。ただし、アプリケーションに投稿されている c 圧縮された lz4 ファイルとは互換性がなく、ファイルを解凍できません。
https://code.google.com/p/lz4/
このファイルを解凍する必要があります。コントローラーで互換性のあるlz4解凍ツールを呼び出すのに最適な方法はありますか?
c++ - Windows での LZ4 圧縮ライブラリのコンパイル
Visual Studio 2013 の C++ プロジェクトでLZ4 圧縮ライブラリを使用しようとしています。プロジェクトでリンクできるように、.dll ファイルをビルドする必要があります。mingw を使用して make ファイルでビルドしようとしていますが、不快なエラーが発生します。リポジトリのベース ディレクトリに移動して実行するとmingw32-make.exe
、次のエラー出力が表示されます。
私は Windows でのメイク ファイルのコンパイルにあまり慣れていないため、エラーの原因を突き止めるのに苦労しています。さらに、この圧縮ライブラリがどれほど人気があるかを考えると、かなり奇妙なことに、Windows 用にコンパイルすることに関する情報をオンラインで見つけることができません。このことをコンパイルするための支援は大歓迎です。
compression - LZ4 圧縮テキストは非圧縮よりも大きい
lz4 アルゴリズムは非常に高速で、かなり圧縮率が高いことを読みました。しかし、私のテスト アプリでは、圧縮されたテキストがソース テキストよりも大きくなっています。何が問題ですか?
LZ4_compress も試してみましたが、結果は同じです。しかし、同じ記号で文字列を生成したり、2 つの異なる記号で文字列を生成したりすると、圧縮が存在します。