アカウント名:
パスワード:
ここ数年にわたり、PCにおける一般的な搭載メモリ量が2GB~4GB程度で十分、それ以上は各種コンテンツ編集やビルド作業、仮想マシン起動などの重たい作業をしない限りは不要というのが続いていますね
スマホOSにおいては、フラッシュメモリをストレージにする前提からメモリが足りなくなったときにスワップアウトはさせずアプリをステートセーブして終了させる + 次回はステートロードしつつ起動させるという実装になっている点が異なりますが、これが大きく影響するのは
「重たいゲームを複数同時に起動し、さらに裏でゲームが終了していることも許さない」
状況だけ
> iPhoneにおいてはこのような利用ケースごとのメモリ要求量のバラつきはとても困った要素になりますね> ラインナップが少ないということは自由が少ないということ、まさにその通りになります
毎度毎度、なんかAppleを貶さないと気が済まないみたいだがw、違うOSでメモリの量を比べても意味があるまい。iOSのメモリ利用効率はAndroidよりはるかに良い [cultofmac.com]ので、もともとそんなにメモリが要らないという話だよ。
Androidはそもそもの成り立ちがLinuxの上にJava乗っけてという変態構造の上に、JITが走ったり、GCが走ったりと裏でやってることが多く、メモリとプロセッサパワー食いな体質のOSだ。
Linuxの上にJavaって別に変態とは言えないでしょう。携帯Javaとかも基本そんな構成ですよ。ちなみにAndroidは今はAOTですし。
リンク先の記事ではAndroidはGCがあるのでメモリがたくさんいると書いてありますが、要はメモリが多めだと開放するまでに時間が稼げるという話であって二倍の内容が保存できるという話ではありません。そんな魔法の技術はありません。そしてGCが働くために必要な余計なメモリなんてギガバイト単位の話ではありません。なにしろ(Java用の)メモリ2MBとかでも機能していたのですよ?加えてJavaではGCがあるというなら、ネイティブならメモリリークがあります。
携帯Javaとかも基本そんな構成ですよ。
それはアプリの実行環境としてJavaVMが載っているという話だろう。Androidの場合はアプリ実行とは関わらない、OSそのものの機能の多くがJavaで書かれていて、Linuxの上で動くVMの上で動いている。そんなのは他ではあまり見かけないが。
加えてJavaではGCがあるというなら、ネイティブならメモリリークがあります。プログラマーが努力すればメモリ効率は上げられますが、Javaでもこまめにメモリを開放すれば同じことができます。
いや、プログラマの技量の落ち度や、「努力すればできる」みたいな話まで持ちこんでくるのはちょっと違うんじゃないかなw
将来的な互換性を重視する実装では最初から仮想マシンをかましているのはそこそこあるXBOX ONE とかもそんなん
それ、最近のXBox Oneになってから出てきた話だろうにwしかもXBoxの場合は、仮想マシンの上で動くのは丸ごと完全なOSだ。AndroidみたいにOSの機能の半分はLinux、半分はJavaVMの方で動いているというのは、やはり変態的だ。
なんか話が変わってない?Java仮想マシンみたいなのと仮想マシン上でOSが走ってるってのは全然別よ。でも初めて知ったから驚いた。凄いな。Windows 10でHyper-Vを有効にすると目の前のWindows 10までなんだか知らん内に仮想化されるようなもんか。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy
実際のところでいえば (スコア:0)
ここ数年にわたり、
PCにおける一般的な搭載メモリ量が2GB~4GB程度で十分、
それ以上は各種コンテンツ編集やビルド作業、仮想マシン起動などの重たい作業をしない限りは不要というのが続いていますね
スマホOSにおいては、フラッシュメモリをストレージにする前提から
メモリが足りなくなったときにスワップアウトはさせず
アプリをステートセーブして終了させる + 次回はステートロードしつつ起動させる
という実装になっている点が異なりますが、
これが大きく影響するのは
「重たいゲームを複数同時に起動し、さらに裏でゲームが終了していることも許さない」
状況だけ
Re: (スコア:1)
> iPhoneにおいてはこのような利用ケースごとのメモリ要求量のバラつきはとても困った要素になりますね
> ラインナップが少ないということは自由が少ないということ、まさにその通りになります
毎度毎度、なんかAppleを貶さないと気が済まないみたいだがw、違うOSでメモリの量を比べても意味があるまい。
iOSのメモリ利用効率はAndroidよりはるかに良い [cultofmac.com]ので、
もともとそんなにメモリが要らないという話だよ。
Androidはそもそもの成り立ちがLinuxの上にJava乗っけてという変態構造の上に、
JITが走ったり、GCが走ったりと裏でやってることが多く、メモリとプロセッサパワー食いな体質のOSだ。
Re: (スコア:0)
Linuxの上にJavaって別に変態とは言えないでしょう。
携帯Javaとかも基本そんな構成ですよ。
ちなみにAndroidは今はAOTですし。
リンク先の記事ではAndroidはGCがあるのでメモリがたくさんいると書いてありますが、要はメモリが多めだと開放するまでに時間が稼げるという話であって二倍の内容が保存できるという話ではありません。そんな魔法の技術はありません。
そしてGCが働くために必要な余計なメモリなんてギガバイト単位の話ではありません。
なにしろ(Java用の)メモリ2MBとかでも機能していたのですよ?
加えてJavaではGCがあるというなら、ネイティブならメモリリークがあります。
Re: (スコア:1)
携帯Javaとかも基本そんな構成ですよ。
それはアプリの実行環境としてJavaVMが載っているという話だろう。
Androidの場合はアプリ実行とは関わらない、OSそのものの機能の多くがJavaで書かれていて、
Linuxの上で動くVMの上で動いている。そんなのは他ではあまり見かけないが。
加えてJavaではGCがあるというなら、ネイティブならメモリリークがあります。
プログラマーが努力すればメモリ効率は上げられますが、Javaでもこまめにメモリを開放すれば同じことができます。
いや、プログラマの技量の落ち度や、「努力すればできる」みたいな話まで持ちこんでくるのはちょっと違うんじゃないかなw
Re:実際のところでいえば (スコア:0)
将来的な互換性を重視する実装では最初から仮想マシンをかましているのはそこそこある
XBOX ONE とかもそんなん
Re: (スコア:0)
それ、最近のXBox Oneになってから出てきた話だろうにw
しかもXBoxの場合は、仮想マシンの上で動くのは丸ごと完全なOSだ。
AndroidみたいにOSの機能の半分はLinux、半分はJavaVMの方で動いているというのは、やはり変態的だ。
Re: (スコア:0)
なんか話が変わってない?
Java仮想マシンみたいなのと仮想マシン上でOSが走ってるってのは全然別よ。
でも初めて知ったから驚いた。凄いな。
Windows 10でHyper-Vを有効にすると目の前のWindows 10までなんだか知らん内に仮想化されるようなもんか。