トップページ > プログラム > 2014年06月25日 > uLaDf7W/

書き込み順位&時間帯一覧

14 位/215 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000300000100000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
PHPがいかに駄目言語であるかをちゃんと説明

書き込みレス一覧

PHPがいかに駄目言語であるかをちゃんと説明
622 :デフォルトの名無しさん[]:2014/06/25(水) 10:00:19.03 ID:uLaDf7W/
>>621
> http://maplesystems.co.jp/blog/all/programming/2015/
> > Java > C >>>> PHP > Python >> Ruby

の部分、Cの速度は、gcc に最適化オプションをつけずにコンパイルした
255 msの場合で、最適化オプション -o をつけると 58ms となり、
Java の181ms よりも 3.12 倍も高速になる、とのことだよ。
PHPがいかに駄目言語であるかをちゃんと説明
623 :デフォルトの名無しさん[]:2014/06/25(水) 10:05:02.39 ID:uLaDf7W/
なお、Java は整数演算は C/C++ の 1/3 程度の速度を持っているが、
メモリ確保が入ってくるととたんに性能が落ちる。

経験的には、同じ容量を確保した場合、C/C++ の 100倍〜1000倍
程度メモリを食うらしい。

さらに、Garbage Collection が不定期に実行されるので
スクロール中にガタガタと止まったりする。
無駄に多くメモリを消費するのも、GC の頻度が高くなる最大の原因
になってもいる。

Javaアプリの起動が遅いのは、アプリの初期化時にメモリ確保を一気に行うときに時間がかかって
居ることが主な原因。
PHPがいかに駄目言語であるかをちゃんと説明
624 :デフォルトの名無しさん[sage]:2014/06/25(水) 10:38:23.32 ID:uLaDf7W/
訂正:

>経験的には、同じ容量を確保した場合、C/C++ の 100倍〜1000倍
>程度メモリを食うらしい。

ここは嘘だった。実際は、Javaの参照(ポインタ)は、C/C++よりも
ずっと容量を食うらしく、参照によってリンクを張った構造を
作ると C/C++ のポインタで同様の事を行った場合に比べて、
100〜1000倍のメモリ容量を食う。
PHPがいかに駄目言語であるかをちゃんと説明
625 :デフォルトの名無しさん[sage]:2014/06/25(水) 16:53:28.76 ID:uLaDf7W/
なぜJavaがメモリを大量消費するかについて、自分なりの見解を述べ
よう。

・参照の変数の内部表現に必要なバイト数がC/C++のポインタに比べて
 大きい。ただし、大きいといっても、これだけで100〜1000倍にも
 なる理由の説明にはなりそうにはない。

・C/C++ では、オブジェクトを構造体やクラスの中に参照やポインタ
 を解さずにそのまま埋め込むことが出来たが、Javaでは必ず参照
 となるため、必ずヒープ(ストア)領域から new する必要があり、
 これが、複数のメンバを持つ一般的な構造体では意外と大量の
 メモリを食ってしまう可能性。 これについても、C/C++の経験
 では、「大した増加にはならない」と予想されるが・・・。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。