- 主题:C++的map慢的令人发指,尤其比C#慢的太多太多
hahaha
【 在 shootings (shootingstars) 的大作中提到: 】
: if (map.find(n) != map.end())
: {
: if (max < map.at(n))
: {
--
FROM 223.104.160.*
中间很大一部分就是由于编译器对于优化程度的问题吧。
但是要想C/C++的优化能够达到C#编译器这个程度恐怕不是那么容易的。
【 在 gambol 的大作中提到: 】
: 编译器优化的机会到了
: 加个临时存一下结果就行
--
FROM 111.197.232.*
【 在 xiaofeiyun 的大作中提到: 】
: unorderedmap也是哈希表实现的
: 发自「今日水木 on MI 8」
也字不对,map是树,不是哈西
--
修改:stub FROM 183.195.4.*
FROM 183.195.4.*
unordered是哈西
【 在 stub 的大作中提到: 】
: 也不对,map是树,不是哈西
--
FROM 23.240.121.*
c#版本也是哦,为啥就没事?
【 在 shootings 的大作中提到: 】
: if (map.find(n) != map.end())
: {
: if (max < map.at(n))
: ...................
--
FROM 31.17.122.*
关键字太多,上图
【 在 wesleyzeng 的大作中提到: 】
: C++ 没有开启 O2 等优化吧。
: 我这里不优化 C++:
: 插入: 11.3169s
: ...................
--
修改:easior FROM 182.100.67.*
FROM 182.100.67.*
应该是,结论不可能
【 在 fanci 的大作中提到: 】
: 一看就知道是因为你用了Debug Build而不是Release Build
--
FROM 43.134.195.*
c++
编译器优化一般般,
不debug应该默认优化,
c#对菜鸟编程优化的不错,
这方面c++也得继续优化。
【 在 gambol 的大作中提到: 】
:
: 编译器优化的机会到了
: 加个临时存一下结果就行
: 【 在 shootings 的大作中提到: 】
: : if (map.find(n) != map.end())
【 在 gambol 的大作中提到: 】
:
: 编译器优化的机会到了
: 加个临时存一下结果就行
: 【 在 shootings 的大作中提到: 】
: : if (map.find(n) != map.end())
#发自zSMTH@M2103K19C
--
FROM 120.245.30.*
蓝翔毕业的吧,能写出这种代码…
【 在 shootings 的大作中提到: 】
: if (map.find(n) != map.end())
: {
: if (max < map.at(n))
: {
: max = map.at(n);
: }
: }
: 你这段代码写得是真好。。。。
--
FROM 222.129.130.*
虚拟机优化
我专门看过c#的实现,确实应该比较快
但是好像没有java的快
【 在 foliver 的大作中提到: 】
: 起因是我有一个python运算程序,运算太慢。用C#实现后,效率大幅提升。后来想用c++改写应该更快些, 发现竟然慢很多。不能忍。
: 原因程序需要用到大容量字典。百千万级别。
: 对比了下c#和C++(unorder map):
: ...................
--
FROM 101.86.238.*