Самый быстрый язык программирования для вычисления больших чисел? - PullRequest
2 голосов
/ 01 октября 2011

Если бы я хотел вычислить числа с сотнями миллионов цифр (положительные целые числа), какой язык программирования лучше всего подойдет для этого?

В настоящее время я использую python, и скрипт работает, и его было легко кодировать, но у меня есть опасения по поводу его скорости.

Я не особо разбираюсь в сборке, поэтому, хотя она МОЖЕТ быть самой быстрой, я бы не стал ее использовать. C лучший выбор здесь?

Конкретные операции, которые я должен использовать, это *, -,% (mod), возведение в степень, тестирование на равенство (операторы if), базовый цикл и некоторая возможность вывода (например, консольный вывод).

Большое спасибо.

Ответы [ 3 ]

4 голосов
/ 01 октября 2011

Вы можете использовать GMP с простым C, но учтите, что многие динамические языки используют его для чисел произвольной точности, в том числе и для python.Вы не можете получить много, используя C.

2 голосов
/ 01 октября 2011

Библиотека GMP с C / C ++.

http://gmplib.org/

0 голосов
/ 14 апреля 2012

Вот ваш ресурс для чтения.Это опровергает аргумент, что C самый быстрый, если только вы не используете функцию ограничения C99.Если что-то C ++ быстрее, чем C. Это действительно сводится к пониманию компилятора, когда две отдельные, но последовательные операции «read» ссылаются на одну и ту же область памяти.Это позволяет компилятору переупорядочивать операции для оптимизации.Похоже, Фортран лучше всех это делает.

http://en.wikipedia.org/wiki/Pointer_aliasing

Также вы можете видеть здесь, что Фортран уносит С ++ с помощью процедуры Мандельброта.Но когда дело доходит до манипуляций с текстом, C ++ выглядит как вершина.

http://shootout.alioth.debian.org/u32/fortran.php

...