Умножение решетки с потоками, это более эффективно? - PullRequest
0 голосов
/ 14 февраля 2011

какая из них быстрее: Использование умножения решетки с потоками (большие числа) ИЛИ Использование общего умножения с потоками (большие числа)

Знаете ли вы какой-либо исходный код, чтобы проверить их?

----------------- EDIT ------------------ Theads должны быть реализованы на C или Java для тестирования

1 Ответ

1 голос
/ 14 февраля 2011

Если я вас правильно понимаю, «умножение решетки» - это другой способ выполнения умножения с основанием 10 вручную, который, как предполагается, легче понять детям, чем классический способ.Я предполагаю, что «общее умножение» является классическим способом.

Так что, на самом деле, я думаю, что лучший ответ:

  1. Ни «умножение решетки», ни «общее умножение»хорошие (эффективные) способы выполнения умножения на компьютере.Для небольших чисел (до 2 ** 64) встроенное аппаратное умножение лучше.Для больших чисел лучше разбить числа на 8- или 32-битные куски ...

  2. Многопоточность вряд ли ускорит умножение, если у вас нет очень больших чисел.Присущая стоимость создания (или переработки) потока, вероятно, затмит любое теоретическое ускорение для меньших чисел.А для больших чисел (и большего числа потоков) вам нужно беспокоиться о пропускной способности копирования данных.

Обратите внимание, что есть материал о параллельном умножении (Google), но это в основном в академической литературе ... которая, возможно, говорит о том, насколько это действительно практично для аппаратного обеспечения, используемого сегодня для низко и высокопроизводительных вычислений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...