object.sizeを使うと、ベクトルやデータフレームなどのオブジェクトのメモリ使用量を確認することができるのだが。。試しに、ちょっと実験してみたら不思議なことが起こった。
まず、サンプルのベクトルとデータフレームを用意する。
> v.x <- c(1,2,3)
> v.x1 <- c("a","b","c")
>
> v.y <- c(1,2,30)
> v.y1 <- c("A","B","C")
>
> df.x <- data.frame(id = v.x, name = v.x1)
> df.y <- data.frame(id = v.y, name = v.y1)
object.sizeでメモリ使用量を調べる。
> object.size(v.x)
72 bytes
> object.size(v.x1)
216 bytes
> object.size(df.x)
1360 bytes
> object.size(v.y)
72 bytes
> object.size(v.y1)
216 bytes
> object.size(df.y)
1360 bytes
>
ふむふむ。なるほどー。
やっぱり、数字(v.x)よりも文字列(v.x1)の方がメモリ食ってるな。
てか、72 bytes(v.x)のベクトルと216(v.x1)のベクトルでデータフレーム(df.x)を作ると、メモリが1360 bytesに跳ね上がるのかー
v.x1とv.y1の結果を見ると、小文字と大文字でメモリ使用量に変化はなさそう。
あと、v.xとv.yもメモリ使用量が変わっていないので、数字が一桁から二桁に増えたのが混ざってもあまり影響はないのかー。ちょっと、桁数をすごい増やしてみるか。
> v.z <- c(1,2,3000000000000000000000000000)
> object.size(v.z)
72 bytes
あれ??桁数すごい増やしたけど全然メモリ増えない!マジで!
なんでだろ??
データ分析に関する備忘録。主にR言語を使ったデータの前処理や統計、機械学習などの方法を記録。ビッククエリとトレジャーデータがお気に入り。オフラインとオンラインの連携が最近のマイブーム。
注目の投稿
【kepler.gl】コロナ対策による人流の変化も地図上に可視化(各種メディアで報道)
kepler.glのサイト画面 kepler.glを使ってコロナ対策の効果を分析したところ、テレビ、新聞、ネットのメディアから問い合わせや報道依頼が殺到。今も、土日返上で都内や全国の人流変化を分析しています。この記事では人流変化の可視化に便利なkepler.glにつ...
2017年7月22日土曜日
登録:
コメントの投稿
(
Atom
)
0 件のコメント :
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。