有人知道boost::get
for 是否boost::variant
是一个消耗性能的操作。
现在,我正在重构性能关键部分中的一些旧代码,其中“变体”是由容器为每种可能的类型和对应enum
的 .
显然,这很快,但很难看,现在当我必须重构代码以便它可以与另一种类型一起使用时,我想摆脱代码的旧部分并将其替换为boost::variant
.
此外,我不能简单地“分析两个变体并进行比较”,因为这种重构是一件很麻烦的事情,而且会非常耗时。
boost::get<x>
因此,如果有人知道与泛型类型调度相比的性能如何enum-based
,如果您分享这些知识,我将不胜感激。
还有另一种boost::variant<types>
与自定义访问者一起使用的变体(如boost::variant
文档中所述) - 这可能比boost::get
我的情况更快吗?
谢谢你。