【发布时间】:2011-01-31 14:34:47
【问题描述】:
我计划参与开发用 C 语言编写的代码,用于复杂问题的蒙特卡罗分析。此代码在内存中分配大量数据数组以加快其性能,因此代码作者选择了 C 而不是 C++,声称可以使用 C 编写更快、更可靠(关于内存泄漏)的代码。
你同意吗?如果您在计算过程中需要在内存中存储 4-16 GB 的数据数组,您会选择什么?
【问题讨论】:
-
我认为分配 16 GB 不会带来任何性能。空间也会影响时间。
-
可靠性的很大一部分来自经验。即使 C++ 在资源管理方面比 C 更可靠(RAII 在这方面有很大帮助),但有经验的 C 程序员可能会发现在 C 中实现它比在 C++ 中更容易(并且犯的错误更少)。可靠性来自程序员,而不是语言(语言可以帮助也可以阻碍,但主要是程序员)
标签: c++ c performance memory-management