Flash/ActionScript 3中是运算符的性能?

Car*_*rie 3 apache-flex air flash actionscript actionscript-3

任何人都有关于is运算符性能的文章/测试?我在谷歌上找不到任何东西,只是把我的"是"关键字当作太小了.

我计划在我的组件的消息传递系统中广泛使用is运算符,因此性能需要稳固.如果我可以这样做,它将使我不必为每条消息提出一个id和id-lookups方案:

function onMessage(message : Message, type : Class) : void
{
    switch(type)
    {
        case MessageOne:
            // whatever
        break;
        case MessageTwo:
            // whatever
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

我完成的时序测试表明它几乎和整数比较一样快,所以我只是想确定一下.

有人做过自己的测试或知道一些文章吗?

谢谢.

Nat*_*ate 9

"是"运算符速度非常快,即使每秒数万次测试也是如此.

不仅如此,它确实是比较继承层次结构的最佳实践,而不仅仅是类名称(Image is UIComponent例如,比较是否)以及对接口实现的支持(Image is IEventDispatcher例如比较).

更多:http://livedocs.adobe.com/flex/3/html/03_Language_and_Syntax_09.html#122921

所以,是的,它足够快 - 而且,如果它不是,你必须打破语言的基本最佳实践,以使其符合你的设计意愿 - 那么你做错了.

:)