什么是“任何”,它与“任何”有什么不同?

时间:2016-05-12 08:00:03

标签: generics types julia jit

在最近的0.5个Julia中我已经开始注意到名为true的类型参数,被约束为ANY的子类型。 这当然总是正确的,因为所有类型都是Any

的子类型

例如:

Any

那是怎么回事? 这是一种鼓励编译器生成JITs专用函数的技巧吗?

1 个答案:

答案 0 :(得分:8)

ANY是一个黑客,暗示编译器不应该专注于参数。否则,编译器将考虑在它们被调用的所有参数的特定类型上使用特殊函数,这在某些情况下可能最终会产生大量不必要的代码。这是一种肮脏的黑客行为,更为一般的机制会更好,但它可以完成工作。