В этом проекте делается попытка сравнить скорость разных языков программирования. В этом проекте нас не особо заботит точное вычисление числа Пи. Мы только хотим увидеть, насколько быстро развиваются языки программирования.
Для сравнения используется реализация формулы Лейбница для π.
Вот видео, которое объясняет, как это работает: Вычисление π вручную.
Результаты можно найти здесь: https://niklas-heer.github.io/speed-comparison/
Я не являюсь экспертом во всех этих языках, поэтому воспринимайте мои результаты с недоверием.
Кроме того, результаты показывают, насколько хорошо языки справляются с операциями с плавающей запятой, что является лишь одним из аспектов языка программирования.
Вы также можете внести свой вклад и помочь мне исправить мой, возможно, ужасный код на некоторых языках. ?
Все управляется контейнером Docker и сценарием bash, который вызывает программы.
Для измерения времени выполнения используется пакет Python.
Docker
Earthly позволяет запускать все одной командой:
earthly --config earthly-config.yml +all
Это запустит все задачи по сбору всех измерений, а затем запустит анализ.
Чтобы собрать данные для всех языков, выполните:
earthly --config earthly-config.yml +collect-data
Чтобы собрать данные для одного языка, выполните:
earthly --config earthly-config.yml + < replace me with language name >
Чтобы сгенерировать объединенный CSV из всех результатов, используйте следующую команду:
earthly --config earthly-config.yml +analysis
Почему вы также учитываете чтение файла и печать вывода?
Потому что я думаю, что это более реалистичный сценарий для сравнения скоростей.
Включено ли время компиляции в измерения?
Нет, они не включены, потому что при запуске программы в реальном мире это тоже будет сделано раньше.
Список участников генерируется автоматически.
Никлас Хир | Франческо Алеманно | Ю Чжу | Джерри Линг | Гауте Хоуп | фрак0д |
Джонатан Кэрролл | Сиддик АЧИЛ | Серг Джини | Габриэль Баральди | Самуэль | Джо Ландман |
Сандип Кумар | Мэттн | Палл Харальдссон | Оскар Смит | Майкл Эбботт | Лоренцо Габриэле |
ЛенивоеЯдро | Крис Нюрнбергер | ДиркиДурки | Гуй Чжэнь Вэй | РДПатрикTheDev | Гордость |
Сергей Трофимов | Томас А. Касвелл | Томохиро | генмоблог | Юта Имадзу | Кохей Хосоки |
Йинхели |
Для создания сверхтонких изображений, которые используются для фундаментального бенчмаркинга.
Этот проект вдохновлен Томасом, который сделал подобное сравнение в своем блоге.