将Billion Integers初始化为值1

Tib*_*iri 6 c c++ linux performance

在具有32GB DRAM的Linux平台8核CPU上使用c/c ++初始化十亿个整数的优秀posix线程设计是什么?谢谢你的帮助.

Dav*_*nan 8

这是一个简单的操作,您不需要考虑多线程.只需memcpy在单个线程中执行即可.

  • 既然我知道整数是连续的,我也可以使用memset()在单个线程中初始化为1,谢谢大卫! (2认同)

mae*_*ics 1

也许是分而治之的算法?将包含整数的内存按与系统最佳线程数相对应的某个数字进行分区。然后为每个分区启动一个线程来初始化其所有整数。

  • @TiborJiri:线程的数量取决于许多几乎完全与目标系统相关的因素。您可能需要进行一些测试才能找到正确的值,但您可以设计算法,使该数字成为可以轻松更改的参数。 (4认同)