使用线程的格子乘法,它更有效吗?

时间:2011-02-14 04:31:21

标签: java python c multiplication

哪一个更快: 使用带有线程的格子乘法(大数字)或 使用带有线程的常见乘法(大数字)

你知道任何源代码来测试它们吗?

----------------- EDIT ------------------ 应该用C或Java实现theads以进行测试

1 个答案:

答案 0 :(得分:1)

如果我理解正确的话,“格子乘法”是用手做基础10乘法的不同方式,它应该比孩子更容易理解,而不是经典方式。我认为“常见的乘法”是经典的方式。

所以,我认为最好的答案是:

  1. “格子乘法”或“公共乘法”都不是在计算机上进行乘法的好(有效)方法。对于较小的数字(最多2 ** 64),内置硬件乘法更好。对于大数字,最好将数字分成8或32位块...

  2. 除非数字非常大,否则多线程不太可能加速乘法。创建(或回收)线程的固有成本可能会淹没任何理论上的加速数据。对于更大的数字(以及更多的线程),您需要担心复制数据的带宽。

  3. 请注意,在并行乘法(Google)上有一些材料,但主要是在学术文献中...这可能说明了今天用于低和高的硬件的实际应用程度终端计算。