
Snow LeopardのGCD、その間接的なメリット
Grand Central Dispatch(GCD)は、Cなどの開発言語に対する拡張と、その処理を担うランタイムという2つの要素に分解できる。そのエンジンが「libdispatch」で、Snow Leopardでは「/usr/lib/libSystem.B.dylib」に含まれる形で提供されている。
libSystem.B.dylibは、他のUNIX系OSでいうところのlibcに相当する標準ライブラリ。Mac OS Xでは、プログラム(バイナリ)がどのライブラリやフレームワークの機能を使用しているか、otoolコマンドで調べることができるが、libSystem.B.dylibはCやObjective-Cで記述されたプログラムのほぼすべてが使用するため、このライブラリへのリンクの有無をもってGCDが作用しているかどうかは判断できない。
GCDによる並列処理の最適化が行われているかどうかの判断は、ヘッダファイルをチェックすればわかる。
「#include
試しに/System/Library/Frameworksディレクトリで、
grep -R dispatch.h ./*
を実行したところ(Mac OS Xのgrepは再帰的に検索できるのだ)、予想どおり複数のフレームワークでdispatch.hのインクルードを確認できた。CoreServices.frameworkに内包される「Metadata.framework」や「CarbonCore.framework」などなど、その数は少なくない。
ということは、GCD対応のライブラリやフレームワークを利用したアプリケーションは、間接的にGCDのメリットを得ていると考えられる。GCDの恩恵をフルに享受するには、アプリケーション本体でブロック化処理を行う必要があるが、そうでないアプリケーションもGCD対応のライブラリやフレームワークを利用することで、多少なりともパフォーマンス向上が見込めるはずなのだ。
Snow Leopardに移行後、サードパーティー製32bitアプリケーションの速度まで改善されたことは、ここに理由の1つがありそうだ。
- 新着記事
- 特集
- ブログ
- 企画特集
-
働き方、生産性を根底から底上げ!
-
ビジネス成功の砦はここにあり!
-
攻めと守りのクラウド活用とは!?
-
Why ワークプレース?
-
RPAがニガテなExcelをどう使う
-
特集:ポスト2020時代のCX再考
-
どこまで可能?企業を究極の自動化
-
下した決断は「ハイブリッドへ」
-
特集:ビジネスを止めるな!
-
2020年代を勝ち抜くインフラ
-
働き方改革にモニターが有効なワケ
-
ビジネスの大きな転換点で勝者に!
-
クラウドバックアップお悩み相談室
-
講演レポ:ポスト2020時代の基盤
-
「データ」こそDXの主役
-
レガシーなインフラ設計を見直す
-
意識してますか?PCの「信頼性」
-
サブスクモデルのSaaSで業務改善
-
明治創業の鉄道企業がAWSに挑戦
-
AI活用が激変する新たなインフラ
-
データ活用を加速するエコシステム
-
変化への対応はリアルタイム経営で
-
分析されたデータを活用できるか?
-
ITシステムは永久のβ版思考で
-
ウルトラ帳票文化を乗り越える!
-
働き方改革は身近な「改善」から
-
隗より始めよ