我对C ++编程提出的问题很少。我想知道是否可以以异步方式(顺序代码)在内存中写入?但让我清楚我的问题。 我正在寻找算法的改进,似乎我的代码的瓶颈是在内存中写入。我想写在内存中,仍然继续计算。是否可以使用一个处理器?像使用ALU一样使用写入块?知道了,我没有在下一次计算中使用结果。它是用矢量结果写的。
感谢您花时间回复,或者阅读。
答案 0 :(得分:0)
是和否。编译器将优化内存写入,以便处理器可以在写入内存块时执行操作。这是延迟隐藏的一种形式。这是“是”的答案。
“不”部分是,不幸的是从代码的角度来看,我们不能用一个线程来做这件事。
输入/输出是许多程序中的瓶颈,所以它只是你需要优化和处理的东西。
答案 1 :(得分:0)
这不是C ++或其他问题,它只是CPU支持的问题:如果底层硬件无法支持,C ++无法为您提供这样的工具。
x86指令提供没有这样的功能,但AFAIK是新的PPC版本。如果您想沿着硬件路线走下去,首先应该检查您当前使用的硬件:不同的x86 CPU的内存延迟差别很大。
答案 2 :(得分:0)
您可以优化内存写入。