关于代码速度的两个疑问

学术版

柳易辰 @ 2024-10-13 14:48:40

  1. emplace / emplace_back 会比 insert / push_back 快吗?

  2. 判断不相等用 a^b 会比 a!=b 快吗?


by lonely_seele @ 2024-10-13 14:50:13

2 不会


by lonely_seele @ 2024-10-13 14:50:40

1 如果你预先开了空间那么应该也不会,我不确定


by lym12 @ 2024-10-13 14:58:03

@柳易辰 玄学问题,数据多的情况下,1,2 都有可能有好的表现,但是具体没有测过,可以的话可以考虑自己试一下。

1 的话我之前的老师有博客写了,但是我找不到了,好像是有常数上的优化的。但是 -O2 两个的差别很小。

爱咋写咋写,然后好像 emplace 有传参限制,要是习惯了 insert 的话还需要适应。


by Poncirus @ 2024-10-13 15:05:00

@柳易辰

  1. 理论上来说前者会有构造的开销,后者只需要复制,所以后者快。
  2. 不会。在任何环境下二者都等价。

|