ちょっとした疑問

MacDev

Dock.app は Dock のほかに Dashboard や Mission Control、Launchpad、スタック表示、デスクトップ背景など含んでいるのになんでこんなにメモリ消費が少ないんだろう。

8GB 計画

MacHard

Lion にしてから、明らかに Snow Leopard の頃よりも動作が重くなることが多い。HDD で起動しても SSD で起動しても。Snow Leopard の頃は Safari のタブを常時 50 個、Xcode、Photoshop など開いて作業していたけど特に重いと感じたことはなかったのだが。

(バージョンが 0.1 しか増加していないのに内部変更が過去最大な)Safari 5.1 によるものもあるけど Lion はメモリを大量に消費するようで、ちょっと使っているとすぐに swapfile が 10 個を超える。ひどいときは 21 個にも。それらは起動ディスクを圧迫し、容量不足の警告が頻繁に表示された。10.7.1 にアップデートしても変わらないので、対策を考えた。当然、メモリを増設するというだけの話なのだけれども。

この MacBook Pro のメモリスロットは 2 個で、標準ではそこに 2 GB のものが 2 枚刺さっていて合計 4 GB。それらを外し、4 GB が 2 枚の合計 8 GB にする。

「昔はメモリが ~~MB で ~~万円もしたのに」という話はよく聞くし自分は書きたくないけど、メモリの価格は年々下がり、この 1, 2 年だけでも大幅に下がっているようだ。数日前、個人的に気に入っている WWDC 2003 Keynote(Exposé 初披露!)を見直したばかりなので、当時は PowerMac G5 最下位モデルの標準搭載メモリが 256 MB、今はノート PC で使える 8 GB のメモリが 4,000 円もあれば手に入ると考えると、時の流れを感じてしまう。

メモリが届く前に OS X 10.7.2 をインストールしたら動作が軽くなり 8 GB も必要なかったかと思ったけど、起動ディスクは変わらず圧迫されるのでやはり必要だ。

届いたメモリは問題なく動作した。効果は非常に大きく、たくさんアプリケーションを起動しても余裕がありすばらしい。マシンの起動も速くなった気がする。
4 GB も積んでいれば 4 年は大丈夫だと思っていたけど、Lion を使うには少なかったようだ。

まだ情報が足りない

MacDev

iOS SDK と一体化しているせいで Mac 開発者はしばらく触ることのできなかった Xcode 4.2。Objective-C 新機能の Automatic Reference Counting (ARC) が気になっていたのだ。
やっとリリースされたので、自作フレームワークを ARC に対応させるために調査中。

オブジェクトを retain しない辞書として使っていた NSMapTable だけど、Class Reference によると

Important: NSMapTable does not support weak references under Automatic Reference Counting (ARC).

ARC 環境での weak 参照はサポートされないとのこと。NSPointerArray や NSHashTable も同じらしい。これは strong 参照されてしまうという意味なのか、これまでのように、retain はしないけど解放時の自動 nil 化はされないので解放される前に取り除いてねという意味なのか、どちらなのだろう。
C 言語の id 配列を使っていた部分もあり、対策を考えないといけない。
各 Callback を NULL にした NSArray & NSDictionary はどうなんだろう。

ZMGoogleCSS 2.0.1

Products

Google の仕様変更に対応した ZMGoogleCSS 2.0.1 をリリース。

最近の Google はいろいろ試行錯誤してる。今回の変更で矢印キーの挙動が普通のスクロールに戻ったのがうれしい。

Steve へ

Others

ありがとう。

ZMGoogleCSS 2.0

Products

Google の仕様変更が大きすぎてしばらく開発を休止していた ZMGoogleCSS だけど、一から作り直してバージョン 2.0 として復活させることにした。

今回もいろいろといじってある。Safari RSS 風なサイドバー、フォーカスリングのある検索フィールド、選択のしやすい Goooooogle など。自分には不要かつ邪魔なので隠すようにしたものも多く、左上の "+あなた"、検索ボタン、サイドバーの地域設定などが表示されなくなる。サイドバーもマウスが乗っていないときは薄くなるので邪魔にならない。

これに影響されてユーザスタイルシートを作る人が増えるといいな。