引用引用 22 楼 raison_x 的回复: 引用引用 15 楼 raison_x 的回复: 引用 13 楼 moolleychean 的回复:引用 11 楼 raison_x 的回复:这个差别貌似可以忽略不计。 那个1.1%就算降到0.1%也没有意义。 道理没错,不是主要的开销,但是不明不白的出现这么……
单纯看汇编不会这么慢,是不是后面的跳转遇到上下文切换了。Lz多测几次,取个平均看看
擒贼先擒王!
引用 13 楼 moolleychean 的回复:引用 11 楼 raison_x 的回复:这个差别貌似可以忽略不计。 那个1.1%就算降到0.1%也没有意义。 道理没错,不是主要的开销,但是不明不白的出现这么一个不合情理的开销,心里头不舒服。 test & jne/je 不可能会带来这么大的开销,可能这个问题不在于 line 26,而在于 line……
if (cell_id_array_[bvci] == 0) { helper_->update_bssgp_dl_unitdata__stats(BSSGP_DL_UNITDATA_CELL_UNFOUND); return; } bssgp_unitdata_head.cell_id = cell_id_array_[bvci];
引用 22 楼 raison_x 的回复: 引用引用 15 楼 raison_x 的回复: 引用 13 楼 moolleychean 的回复:引用 11 楼 raison_x 的回复:这个差别貌似可以忽略不计。 那个1.1%就算降到0.1%也没有意义。 道理没错,不是主要的开销,但是不明不白的出现这么一个不合情理的开销,心里头不舒服。 test & jne/je 不可…… “如果你监测到了页面错误较多,说明内存吃紧”,这句是错误的。 以下问题搞不明白: 将windows虚拟内存完全禁用后,内存会交换到什么地方? 如果没有磁盘分页文件可以交换,为什么还会出现page fault?
引用 11 楼 raison_x 的回复:这个差别貌似可以忽略不计。 那个1.1%就算降到0.1%也没有意义。 道理没错,不是主要的开销,但是不明不白的出现这么一个不合情理的开销,心里头不舒服。
引用 22 楼 raison_x 的回复:引用引用 15 楼 raison_x 的回复: 引用 13 楼 moolleychean 的回复:引用 11 楼 raison_x 的回复:这个差别貌似可以忽略不计。 那个1.1%就算降到0.1%也没有意义。 道理没错,不是主要的开销,但是不明不白的出现这么一个不合情理的开销,心里头不舒服。 ……
引用引用 15 楼 raison_x 的回复: 引用 13 楼 moolleychean 的回复:引用 11 楼 raison_x 的回复:这个差别貌似可以忽略不计。 那个1.1%就算降到0.1%也没有意义。 道理没错,不是主要的开销,但是不明不白的出现这么一个不合情理的开销,心里头不舒服。 test & jne/je 不可……
引用 15 楼 raison_x 的回复: 引用 13 楼 moolleychean 的回复:引用 11 楼 raison_x 的回复:这个差别貌似可以忽略不计。 那个1.1%就算降到0.1%也没有意义。 道理没错,不是主要的开销,但是不明不白的出现这么一个不合情理的开销,心里头不舒服。 test & jne/je 不可能会带来这么大的开销,可能这个问题不在于 line 26,而在于 line…… 这个可能在点子上了,我也怀疑是数组取值的问题,这个数组有1M,参看下面一个64k的数组取值: ...... 是否可能页面错误导致?这一块我不是很熟悉,但是我将windows的虚拟内存完全禁用后,程序的页面错误变化不大。 是否可能CPU cache命中率太低导致?对于这种大数组,不可能全部读进cache。
我只注意到楼主提供图片中的 6.1% 32 …… 39.1% 40 ……
这个差别貌似可以忽略不计。 那个1.1%就算降到0.1%也没有意义。
用C语言1000行源码能完成的工作千万不要用C++重写!
if的命中率的问题吧
3,881
社区成员
9,054
社区内容
加载中
试试用AI创作助手写篇文章吧