我简单阐述下背景: 我不是专业 C 开发人员, 我是 python 开发。 因为 python 部分功能实现慢,故使用 C 来重写然后进行封装动态库进行调用。 所有项目用的是 C 不是 C++ 。 目前是已经完成了 速度也有很大的提升。 但是我发现应该还能提升 。 下面代码就是一个例子。。
我要循环一个很大的值 百万级别甚至上亿。 然后动态数组, 但是这个创建动态数组非常慢,各位 C 大佬有什么方法可以解决吗? 还是说我的操作有问题??? 非专 C 人员,勿喷, 如果可以的话,救救孩纸吧.
下面迭代了 132963138 次数的耗时情况
for (int ii = 0; ii < arr_cnt_copy; ii++) {
count += 1;
int min_score = 7462; // 200 ms
int* res_card_lst = (int*)malloc(c_ * sizeof(int)); // 25s
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.