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版のコードをメインモジュールの外に追い出したほうがいい。