問題タブ [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.

0 投票する
1 に答える
574 参照

php - PHPでZLIBの代わりにLZ4圧縮を使用しないことに欠点はありますか?

ベンチマーク、PHP LZ4 圧縮の詳細情報を探してみましたが、多くの情報が見つかりません。

https://github.com/kjdev/php-ext-lz4を見ましたが、特にベンチマークがありません:

  • 減圧比
  • 減圧時間
  • 解凍/圧縮メモリ要件

大量のデータをシリアル化 (igbinary) して保存しています。今のところ gzcompress() を使用していますが、lz4 に切り替える必要があるかどうか疑問に思っています。

ありがとう

0 投票する
1 に答える
69 参照

random - テキスト圧縮

(Az) の代わりに (az) のようなあまりユニークでない要素を使用すると、LZ アルゴリズムのファミリーの効率が向上しますか?

現在、ランダムな一意の要素に対して効率的な他の圧縮アルゴリズムはありますか?

0 投票する
2 に答える
2571 参照

hadoop - Lz4 を使用した ORC でのハイブ圧縮

を使用して圧縮RCおよびORCファイル化しようとしていますLZ4。Hadoop-2.7.1 と Hive-1.2.1 をインストールしました。の場合、問題なくファイルをLZ4圧縮できます。RCしかし、をORC使用してファイルにデータをロードしようとすると、機能しLZ4ません。ORC以下のようなテーブルを作成しました。

しかし、データのロード時に次のエラーが発生します。

同じコマンドで and を使用しましたが、正常に動作していSnappyます。Zlibしかし、問題はLZ4. 理由がわからないのですが?

0 投票する
2 に答える
1479 参照

c++ - Lz4ライブラリで元のサイズよりも小さく解凍するには?

私はLZ4ライブラリを使用しており、データを解凍するとき:

n最初にエンコードされたNバイトの最初のバイトのみが必要n < Nです。したがって、パフォーマンスを向上させるには、元のバッファーの一部のみを解凍するのが理にかなっています。

関数の引数にn代わりに渡すことができるのだろうか?NoriginalSize

私の最初のテストでは、それは不可能であることが示されました (誤って解凍されたデータを取得しました)。方法はあるかもしれませんが、たとえばnの倍数である場合はCHUNK_SIZE? すべての元のNバイトは、compress 関数の 1 回の呼び出しで圧縮されました。

0 投票する
1 に答える
365 参照

perl - Perl で LZ4 blob を圧縮解除する

LZ4 アルゴリズムで圧縮されたブロブを格納する SQLite データベースにテーブルがあります。Compress::LZ4 の解凍/解凍関数を使用しようとしていますが、成功していません。

サンプルの SQLite データベースは、ここからダウンロードできます。

SQLite db に接続して blob を取得する方法は次のとおりです。

このサンプル コード (data_fk=6) で選択している特定の BLOB について、dd は次のように出力します。

"LZ4\1>\1\0\0\xF7\xD6df\xF1mBXML\1\xA1\aVersion\xA1\4Type\xA1\2Id\xA1\3Ref\xA1\4Size\xA1\3use\xA1\4expr\xA1\ 5value\xA1\4data\xA1/Serialization\xA1\aPoints3\xA1\tuser_E\0\xF0\16\bvertices\xA1\6double\xA1\bhas_attr\xA1\16\n\0\xC7object_ids\xA1\n\f \0\xF1M\4item\xA1\tis_active\xA0~B\20\n\22\6\4\x8C\1\0\0\0\6\2\xAA\24\6\0\xA4\x82 \x88\2\x80\x82\x82\xA6B\26\6\b\x80\1B\30 \6\b\x88\2\3B\32\1\x93\6\0\0\0`\ xACu\xCF\xBF\0\0\0\0\xCC\xF8\xC2?\0\0\0\0\0\x004\@\0\0\0 \xAA\xEF\xA9\20\x001h \xC5\xB1\b\0\xD0\0\0\$\@\1B\34\x85B\36\x87B C\0\xF0\aB\"\6\0\x88\3B\$\x85\ 1B\"\6\0\x88\3B\ $\x85\1\1\1"

しかし、解凍/解凍関数は単に undef を返します。非圧縮データは次のようになります (次の出力は XML コンバーターによって生成されます)。

この SQLite データベースから圧縮されていない BLOB データを取得する正しい方法は何ですか?

0 投票する
4 に答える
7708 参照

go - lz4を使用してファイルを圧縮および解凍する方法は?

Go で lz4 アルゴリズムを使用してファイルを圧縮および解凍したいと考えています。これを行うためのパッケージはありますか? https://github.com/pierrec/lz4というパッケージを検索して見つけました

Go 初心者で、このパッケージを使用してファイルを圧縮および解凍する方法がわかりません。

このパッケージを使用してファイルをバイナリ形式に圧縮し、Go を使用してバイナリ ファイルを元のファイルに解凍する必要があります。

0 投票する
0 に答える
876 参照

.net - lz4netを使用してLZ4圧縮文字列を解凍する

NuGet https://www.nuget.org/packages/lz4net/から入手できる lz4net ライブラリを使用して、LZ4 でエンコードされた文字列を解凍したいと考えています。このライブラリの GitHub サイトはhttps://github.com/MiloszKrajewski/lz4netです。

私はストリームにもこのライブラリにも精通していませんが、これまでのコードは次のとおりです。

問題:

  1. lzStream の長さは -1 であるため、読み取ることができません。どうすればよいですか?
  2. outputBytes は固定長でしかインスタンス化できません。必要なだけ大きくしたいと思います
0 投票する
1 に答える
1039 参照

c++ - LZ4 が文字列を正しく圧縮しない

最近、アセットをロードするために、損失の少ないデータ圧縮をゲーム エンジンに統合しようとしました。しかし、この単純な圧縮の例は正しく機能していないようです。助言がありますか ?これが私のコードです:

これが出力です。明らかに、間違っていることがわかります (文字列の一部が欠落しています)。

編集 データを解凍すると、「Hi」部分のみが表示されます:残りはランダムな文字/文字なしです

EDIT 2サイモンの提案の後、コードを変更しました。しかし、コードを解凍した後; こんにちは!(その後は何もありません); 更新されたコードは次のとおりです。

0 投票する
0 に答える
1196 参照

python - 無効なコマンド フラグによる pip インストールでの Windows コンパイルの失敗

pip を使用して PyPi から Windows マシンに lz4 パッケージをインストールしようとしていました。このパッケージにはホイールがアップロードされていないため、ソースをローカルでコンパイルする必要がありました。Visual C++ for Python コンパイラがインストールされています。

私は走った:

これにより、コンパイルエラーが発生しました:

PyPi から tar ファイルをダウンロードすると、-Wおよび-Wundefコンパイラ引数が明示的に設定されていることがわかりましたが、これらは MSVC コンパイラの正当なフラグではありません。

ソースのローカル コピーからこれらを削除し、変更したコードに対してセットアップを実行しました。

stdint.h が見つからないという問題がまだありましたが、他の場所で説明しましたが、インストールが成功したことを解決した後。

私の質問は次のとおりです。

  • ビルドが失敗したことを意味するセットアップに何か問題がありますか?
  • プラットフォーム固有の方法で setup.py にコマンド引数を指定する方法はありますか?
  • lz4 PyPi ページで、ビルドが成功していることを確認できます。これは実際にはどういう意味ですか?