为什么我写的 C++ Addons 善后这么卡?

2014-09-16 15:04:32 +08:00
 XadillaX
https://github.com/XadillaX/thmclrx/tree/fb1fc3e69c8fa7dac7037ba86e923ce0c8da9ab1/src

这个就是我写的 Addon,以及在

https://github.com/XadillaX/thmclrx/blob/fb1fc3e69c8fa7dac7037ba86e923ce0c8da9ab1/test/test.js

是测试代码。

我指的慢不是执行的时候慢,而是“善后”,我也不知道怎么解释——

总之效果就是 console 已经有东西打印出来了,但是要过好一段时间之后才能开始下一步操作。

比如把

for(var i = 0; i < 35500; i++) {
rgb.push({
r : Number.random(0, 255),
g : Number.random(0, 255),
b : Number.random(0, 255)
});
}

里面的 35500 改成一个很小的数字,那么处理完 console 出来之后秒退,但是如果改成更大的话,console 之后要等非常就之后程序才结束。

照理说都已经 console 出来了,说明由 C++ 处理的那段程序段已经结束了,但是为什么还是要等那么久呢?

在线等!急!
3827 次点击
所在节点    Node.js
28 条回复
konakona
2014-09-16 23:07:40 +08:00
嗯,这个我遇到过,很简单,找到答案后我自己都震惊自己的愚蠢了。

基本上是这样的解决办法:
哪里需要首先!
已解决。
又出现了!
用首先解决。
XadillaX
2014-09-16 23:24:39 +08:00
问题解决了。

被自己蠢哭了。
sunocean
2014-09-17 12:07:46 +08:00
@PP 也是最没有价值的帖子之一
PP
2014-09-17 12:47:20 +08:00
@sunocean 恐怕我还真的无法同意您的观点,一方面价值标准在广义上具有多样性,另一方面价值标尺在狭义上不能用来衡量一切。遇到这样的帖子,即便不喜欢也不必去介意,笑一笑不是很开心的吗?
coolicer
2014-09-17 13:17:00 +08:00
@XadillaX 楼主,答案是什么
sunocean
2014-09-17 13:22:31 +08:00
@PP OK,你说的对
XadillaX
2014-09-17 17:10:22 +08:00
@coolicer 答案是我为了贪省力居然用 stl 来管理内存池的对象——最最可恶的是我居然用了 list。然后我改成 queue 就变快了。
qiukun
2014-09-17 20:12:07 +08:00
@XadillaX 。。为啥那么文明全部析构了再 exit 呢。(c艹 的奇怪特性

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/133766

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX