問題タブ [objectsize]
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.
java - Java:不明なArraysizeのシリアル化
アレイを安全にしてリロードした場合、サイズが不明な場合にサイズを取得する可能性はありますか?ありがとう
c++ - 仮想メソッドを使用したC++オブジェクトのサイズ
仮想のオブジェクトサイズについていくつか質問があります。
1)仮想機能
クラスAのサイズは8バイトです....1つの整数(4バイト)と1つの仮想ポインタ(4バイト)それは明らかです!
クラスBのサイズはどれくらいですか?sizeof Bを使用してテストしましたが、12を出力します
クラスBとクラスAの両方に仮想機能がある場合でも、vptrが1つしかないということですか?vptrが1つしかないのはなぜですか?
Cのサイズは20.......です。
この場合、2つのvptrがレイアウトに含まれているようです.....これはどのように発生しますか?2つのvptrは1つはクラスA用で、もう1つはクラスB用だと思います。クラスCの仮想関数用のvptrはありませんか?
私の質問は、継承のvptrの数についてのルールは何ですか?
2)仮想継承
Aのサイズは8バイトです--------------4(int a)+ 4(vptr)= 8
Bのサイズは16バイトです--------------仮想がない場合は4+4 + 4 = 12である必要があります。なぜここにさらに4バイトがあるのですか?クラスBのレイアウトは何ですか?
Cのサイズは12バイトです。-------------- 4 + 4 + 4 = 12.明らかです!
Dのサイズは32バイトです--------------16(クラスB)+ 12(クラスC)+ 4(int d)= 32である必要があります。そうですか?
Aのサイズは8です
Bのサイズは16です
Cのsizeofは16です
sizeofDは28です28= 16(クラスB)+ 16(クラスC)-8(クラスA)+ 4(これは何ですか?)
私の質問は、仮想継承が適用されるときになぜ余分なスペースがあるのですか?
この場合のオブジェクトサイズの基本的なルールは何ですか?
仮想がすべての基本クラスと一部の基本クラスに適用される場合の違いは何ですか?
java - インストルメンテーションを使用したオブジェクトサイズの取得
他のいくつかのオブジェクトを組み合わせたオブジェクトがあります。InstrumentationパッケージでgetObjectSize()メソッドを使用すると、複合オブジェクトのサイズも含まれますか?
javascript - Mongodbで単一ドキュメントのサイズを取得するには?
mongo の奇妙な動作に遭遇したので、少し説明したいと思います...
私の要求は単純です: コレクション内の単一ドキュメントのサイズを取得したいと思います。私は2つの可能な解決策を見つけました:
- Object.bsonsize - サイズをバイト単位で返す JavaScript メソッド
- db.collection.stats() - データの「集約された」(平均) サイズ ビューを生成する行「avgObjSize」があります。1 つのドキュメントの平均サイズを表すだけです。
ドキュメントを 1 つだけ使用してテスト コレクションを作成すると、両方の関数が異なる値を返します。それはどのように可能ですか?
mongoドキュメントのサイズを取得する他の方法はありますか?
ここでは、テストを実行するコードをいくつか提供します。
新しいデータベース 'test' を作成し、type:"auto" という 1 つの属性のみを持つ単純なドキュメントを入力しました。
/li>stats() 関数呼び出しからの出力: db.test.stats() :
}
bsonsize 関数呼び出しからの出力: Object.bsonsize(db.test.find({test:"auto"}))
/li>
java - 圧縮された Oops がオブジェクト ヘッダーに 12 バイトを与える理由
これは Java 6 メモリ モデルの後です。32 ビット JVM では、オブジェクトの浅いサイズは
最初の 2 つの項の合計が 8 の倍数にならない場合は、パディングが行われます。
64 ビット JVM では、浅いサイズは
私の理解では、この Object ヘッダーは 2 つの単語 (oracle hotspot VM) で構成されています。
- クラスワード
- マークワード
32 ビット JVM では、オブジェクト ヘッダー = 2 * 32 ビット = 64 ビット = 8 バイト
64 ビット JVM では、オブジェクト ヘッダー = 2 * 64 ビット = 128 ビット = 16 バイト
ただし、CompressedOops を使用すると、下位 3 ビットが切り捨てられるため、32 ギガ未満のヒープの場合、64 ビット JVM では 8 バイトに戻るはずです。
しかし、JOL (Java Object Layout) を使用してオブジェクト レイアウトをテストしたところ、オブジェクト ヘッダーに 12 バイトが表示されました。
テストコード
出力
これらの追加の 4 バイトを追加するために、ここで欠けているのは何ですか?
r - 行、列、変数の型に基づいて data.frame のサイズを推測する方法はありますか?
大量のデータを生成し、それを R でキャッチすることを期待しています。行数、列数、および変数タイプによって、data.frame のサイズ (したがって必要なメモリ) を推定するにはどうすればよいですか?
例。
10000 行と 150 列があり、そのうち 120 が数値、20 が文字列、10 が因子レベルである場合、期待できるデータ フレームのサイズはどれくらいですか? 列に格納されているデータによって結果が変わるか (のようにmax(nchar(column))
)?
r - R の GLM オブジェクトは、GLM オブジェクトのオブジェクト サイズよりも多くの RAM を使用します
複数の GLM オブジェクトをリストに保存しようとしています。1 つの GLM オブジェクトが大規模なデータセットでトレーニングされますが、GLM オブジェクト内のすべての不要なデータを NULL に設定することで、オブジェクトのサイズが縮小されます。問題は、R が GLM オブジェクトのサイズよりもはるかに多くの RAM を予約するため、RAM の問題が発生することです。この問題が発生する理由と、これを解決する方法を誰かが知っていますか? この背後で、オブジェクトを保存すると、オブジェクト サイズよりも大きなファイルが生成されます。
例:
ここでは、R が GLM オブジェクト用に RAM を予約していることがわかります。複数の GLM オブジェクトを環境に保存すると、RAM 不足の問題が発生します。
r - randomForest オブジェクトのサイズを小さくする方法
randomForest オブジェクトを巨大なラスター レイヤー (34 mio セル、120 以上のレイヤー) に予測しようとしています。そのため、パッケージclusterR
内の関数を使用します。raster
ただし、predict
以前に計算さrandomForest
れたオブジェクトを開始すると、すべての並列ワーカーに読み込まれます。したがって、すべてのプロセスを組み合わせると、大量のメモリが必要になります。
randomForest
モデルを失うことなく、オブジェクトのサイズを縮小することは可能ですか? 誰もこれを経験していますか?
次のようなモデルを作成します。