Class::MOP::is_class_loaded()のXS版
書いた。
これはまさにXSが最適なケースで,Pure Perl版より16-24倍ほど速い。
For "strict":
Rate pp xs
pp 3692/s -- -96%
xs 90163/s 2342% --
For "Class::MOP::Method":
Rate pp xs
pp 2999/s -- -96%
xs 75188/s 2407% --
For "Foo::Bar", which does not exist:
Rate pp xs
pp 8219/s -- -94%
xs 146161/s 1678% --しかし,現行のClass::MOPは関連モジュールを全てロードしてからXSをロードするので,いくらXSコードを追加していってもロード時間には一切影響は出ない。XSの恩恵を十分に享受するためには,Pure Perl版のコードをメインモジュールの外に追い出したほうがいい。