サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ノーベル賞
outstanding.hatenablog.jp
10/10に開催された名古屋Ruby会議01に参加してきました。 久しぶりにいろいろな人にお会いできて楽しかったです。 いろいろな話がありましたが、笹田さんの「Rubyのメモリ管理の改善」の話が大学の講義のノリで異彩を放っていました。これまでに提案されたRubyのGCの改善手法の話が主だったのですが、Lazy Sweepがシンプルだけど効果がありそうだと思いました。Sweep(メモリを解放)するフェーズを一気に行わないで分割して行う事でプログラムが長い間止まるのを防止させる手法だそうです。コンカレントGCの一種?。 Rubyはオブジェクトのアドレスのリスト(heap)をリスト(heaps)で管理しているので、heapsまとめてじゃなくてheapごとにSweepすればいいよねという話になります。Ruby1.8ではheapごとにサイズが異なるが、Ruby1.9ではheapのサイズを同じにしたみ
CSNagoya コンパイラの部 - アウトスタンディングなプログラマを目指してがきっかけ。 参考にしているもの Java SE Specifications Java仮想マシン仕様 (The Java series) (上のリンクの和訳本) 下ごしらえ 動作するけどシンプルなJavaプログラム public class Base { public static void main(String args[]) { } } をコンパイルする。 % javac -version javac 1.6.0_10 % java -version java version "1.6.0_10" Java(TM) SE Runtime Environment (build 1.6.0_10-b33) Java HotSpot(TM) Client VM (build 11.0-b15, mixed m
第2回 Firebugによるデバッグの基本,Console APIとその活用:Firefox 3とFirebugで始めるJavaScript開発|gihyo.jp … 技術評論社にてプロファイルのとり方が載っていたので試した。 中核は以下のもの。switchが速いのは比較が == じゃなくて === を使っているからだという話がDeLLa.JSの方で出ていたので、ifは2バージョン作って試す。 console.profile(); function Switch() { var a = [0, 0, 0, 0, 0, 0, 0]; var tmp; for(var i = 0; i < 1000; i++) { tmp = i % 7; switch(tmp) { case 0: a[0]++; break; case 1: a[1]++; break; case 2: a[2]++; b
このページを最初にブックマークしてみませんか?
『アウトスタンディングなプログラマを目指して』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く