使用多种方法对性能有何影响?如果我有 2 个具有相同名称的函数,并且参数数量相同,仅类型不同(列表与 int),那么我的性能会受到很大影响吗?
换句话说,最好将我的向量添加函数命名为:“add-vector”或将其保留为“add”或可能为“+”?
(为了简单起见,让我们忽略我可能重新定义“+”等内置函数的问题)。
最佳答案
使用多种方法会产生性能成本,但除非绝对必要,否则如果它们是最好的抽象,您应该继续使用它们。
也就是说,Clojure 1.2 的 protocols为某些用例提供多方法的 native 速度替代方案,并且特别适合以前可能使用基于类型的调度的多方法的情况。
关于clojure - 多方法性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3053106/