假设我有一个带有 .get()
方法的类,它是泛型的,即它根据参数的类型做不同的事情。
我有很多可能的参数,因此我需要对该函数实现许多可能的覆盖(可能大约有 30 种可能的参数类型)。
这个特定的函数 .get()
将在我们的代码中循环调用数十亿次,我想确保调度逻辑的实现尽可能快({{ 1}} 函数将接近瞬时,因此唯一可能的性能问题是调度)。
实现这一目标的最快方法是什么?
我知道我可以使用 .get()
;
我也可以将我所有的函数放在一个字典中,然后将每个参数映射到字典中相应的方法(例如,将类名作为键存储在字典中);
不可能将 30 个覆盖放在 30 个对象本身上,以便我调用它他们的 singledispatch
函数。< /p>