問題タブ [space-efficiency]

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 に答える
897 参照

java - マージソートのスペース効率の良い実装はありますか?

この作業バージョンのmergesortをコード化しました:

ただし、お気づきの場合は、親配列の特定の部分のコピーである新しい配列を作成する copyOfRange 関数を使用します。これよりスペース効率の良いマージソート実装が Java にありますか?

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

mysql - BIT を INT として使用してストレージ ボリュームを効率化

私が正しく理解していれば、BIT非常にディスク効率が良いです。INT私の場合、 s: 12、 &のように扱いたい値は常に 3 つしかないことがわかっています3

、とb'00'3異なりますか?b'0'1

s およびs にINT値を使用しようとすると、mysqlはそれらのクエリで sとして自動的にキャストしますか?INSERT VALUESELECT WHEREBIT

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

mysql - BITは1バイトを超える未使用スペースを埋めますか?

私のテーブルはおそらく非常に長い行の長さになるでしょう。私が正しく読んでいる場合BIGINT、値がのaは18バイト全体を占めます。 http://dev.mysql.com/doc/refman/5.5/en/storage-requirements.html

これはひどく非効率的なようです。

BIT動作は同じですか、それとも可変長ハイブリッドですか?フルバイトを1バイト未満使用すると、他BITのsがある場合を除いて、ディスクスペースの1バイトが消費されることを認識しています。たとえば、BIT 1正しく読み取っている場合、8列は1バイトしか使用しません。

言い換えると、BIT 41他のBIT列がない場合0、その列の行は、もちろん41ビット全体を占める2 ^ 41-1とは対照的に、1バイトまたは6バイト全体を消費しますか?

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

c# - 特定の数の変数を別の名前で作成する方法は?

いくつかのコンソール アプリケーションを開発するために C# でプログラミングを開始しましたが、特定の数の変数を別の名前でより効率的な方法で作成する方法を知りたいと考えていました。今のところ、私は次のようなことをしています:

これを解決するためのより効率的な方法があるかどうか、そしてそれらの方法は何かと思っています。

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

php - PHPからmysqlに大きな整数を格納する最もスペース効率の良い方法は?

最大 128 ビット長の整数を扱っています。これらはフラグの大規模なセットを格納するために使用されており、変な計算を行う必要がないため、php で文字列のように処理して PHP_INT_MAX の制限を回避できます。

これらの数値をmysqlのBINARY列に保存したいと思います。列には、数値を保持するために 4 ~ 16 バイトが必要です。

私の理解では、php の BINARY 列はバイナリ文字列です。これは、文字セットの一部として az を使用しないことでスペースを浪費するということですか? 別のタイプの列を使用する必要がありますか? 文字セットを最大限に活用するには、php で base_convert する必要がありますか?

PHPの128ビット整数の文字列表現をPHPの128ビット列に最も効率的に格納するにはどうすればよいですか?

また、保存している整数の約半分が 4 バイトしか必要としない場合、VARBINARY 列を使用したほうがよいでしょうか?

0 投票する
3 に答える
1205 参照

java - Java バイト/バイト配列のスペース効率の比較

多数の 8 ビット値に対してスペース効率の良い 2D 配列を作成する必要があります。コードの再利用を可能にするために、抽象化とジェネリックのいくつかのレイヤーを使用してクラスを作成し始めました。具象クラスを実装すると、プリミティブ型をジェネリック クラス引数として渡すことができず、ラッパー クラスを使用する必要があることに気付きました。空間効率が気になるので、知っておく必要があります:ラッパー クラスを使用した配列とプリミティブ配列の空間効率の違いは何 ですか?Byte byte

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

java - HPROF 結果の解釈

大きなサンプル用と小さなサンプル用の 2 セットの HProf ダンプがあります。どちらも、私が持っている膨大なデータの非常に小さなサンプルの結果です。私は自分のアプローチのボトルネックを理解しようとしています。

これは、大規模サンプル ( http://pastebin.com/PEH8yR3v ) と小規模サンプル ( http://pastebin.com/aR8ywkDH )のヒープ割り当てデータです。

char[] が私のメモリの大部分を占めるものであることに気付きました。また、char[] によるメモリ使用量の割合は、小さなサンプル実行から大きなサンプル実行までさまざまです。サンプル全体をプロファイリングすると、どのように変化するかわかりません。

しかし、私が懸念している重要な質問は、10GB のデータを書き戻す 3GB のサイズの入力データに対して実行しようとしたときに、このプログラム (READ、PARSE/PROCESS、WRITE) を使用することです。サイズが 1GB を超えないリストを除いて、メモリには何も格納しません。これは単純な読み取り、処理、書き込みパイプラインです。これを考えると、私のプログラムは実行中にまだ約 7GB のメイン メモリを消費します。

これが私のアプローチです。

myFunction 内で作成されたオブジェクトは myFunction の最後で範囲外になるため、それらを削除/解放することは気にしません。ボトルネックを感じていますか?