今回は、メモ書き... テーマはJavaScriptのメモリ消費についてです。 JavaScriptのメモリモデルはガベージコレクションという技術を用いています。 この手法は、ガベージコレクター(以下、GC)が最適と判断したタイミングでメモリの開放を行います。 問題点としては、下記があげられます。 ・タイミングが制御できない ・GCの処理中は、プログラムが利用可能な処理時間を奪う 要は、メモリ消費が大きいWebアプリはGCが頻発し、パフォーマンス劣化に繋がるよってこと。 GCの頻度はどうやって確認する? 下記の画像は、YahooのトップページをDeveloper ToolsのTimelineタブでレコーディングしたものです。 山になっている水色部分がメモリの使用量で、一回ガクッと下がっています。 これがGCのタイミングで、ギザギザになってるほどGCの頻度が高いです。 (「バージョン 39.
![JavaScriptのメモリ消費について](https://cdn-ak-scissors.b.st-hatena.com/image/square/40b2844b5c8c1246dd68647428de89d660023547/height=288;version=1;width=512/https%3A%2F%2Fblogger.googleusercontent.com%2Fimg%2Fb%2FR29vZ2xl%2FAVvXsEidiV_-CID27Cxizh2vsemJaw0ybcfg5z35Am5WW7YYctX2QD4UJ-oil0Xu0bEeaTmQ9UByDe89DVjI3SMQ6DQTaXcVmSkJ7W7PvEp-dgG3LG1Kg79MIWxhgsbckP3meBY6y10MwcT9B9Q%2Fw1200-h630-p-k-no-nu%2FDeveloper_Tools_-_https___frontend-fix_game36_klabgames_net_gacha_index_php_date_20140401_%25E3%2581%25A8_Gmail_%25E3%2582%25B9%25E3%2582%25B1%25E3%2583%25BC%25E3%2583%25AB%25E3%2581%25AE%25E5%258A%25B9%25E7%258E%2587%25E7%259A%2584%25E3%2583%25A1%25E3%2583%25A2%25E3%2583%25AA%25E7%25AE%25A1%25E7%2590%2586_-_HTML5_Rocks.png)