LINUX.ORG.RU
ФорумTalks

А кто запилит производительность golang ?

 , , , ,


0

4

Все верещат о том, что golang быстр. Есть какая-то синтетика в интернетах, но так чтобы с примерами - нет такого. Что очень сильно намекает.

Хотелось бы такого:

  • код на сpp
  • код на java
  • код на python
  • код на pypy
  • код на golang

И время выполнения для каждого. Чтобы можно было эти куски кода самостоятельно собрать и протестировать скорость. И потом все вместе сравним вот с этим

★★★★

Последнее исправление: bryak (всего исправлений: 2)
Ответ на: комментарий от bryak

Да, дурак я ._.

Но всё же, чем не устраивает данный ресурс?

kachan ★★
()
Последнее исправление: kachan (всего исправлений: 2)

этим

Чур без глупых синтетических тестов. Только реальные задачи, только хардкор!

Deleted
()

Я так понял что ты математику называешь синтетикой (как на том же Benchmark Game), а «реальные задачи» в твоем понимании - это какие-то среднестатистические системы, которые пишет среднестатистическая компания. Тоесть какой-то сервер с узком месте в IO, где язык побоку для производительности.

vertexua ★★★★★
()

Вот это можно использовать: https://dlang.org/blog/2017/05/24/faster-command-line-tools-in-d/

Это скорость парсинга + скорость работы хеш-мапы. Пока получилось так:

C++ 0.3 секунды, но там ещё можно выиграть сколько-то при замене memchr на поиск вручную.

Go 1.9 0.54 секунды.

Но это я писал, у меня на предыдущей работе было много очень много логов и слабенькая машина для их разбора, приспособился.

Другие варианты лагают в пределах секунды секунды.

Joe_Bishop
()
Последнее исправление: Joe_Bishop (всего исправлений: 1)

Ну так это либо будет та же самая «синтетика», либо задача будет «не та», либо железо «не то», либо настройки, либо ещё что. Поэтому бери и пили.

WARNING ★★★★
()

тыц - комбо, синтетика и реальная задача в одном - перемножение матриц. Исходники, конечно, прилагаются.

flyshoot
()
Ответ на: комментарий от flyshoot

комбо, синтетика и реальная задача в одном - перемножение матриц. Исходники, конечно, прилагаются

Java все таки хороша, кто бы что ни говорил. А в обертке Котлина вообще идеальна

ertgblasd ★★
()
Ответ на: комментарий от ertgblasd

И на небольшом Heap. Иначе уже начинается магия с Off-Heap, для упрощения которой в языке ничего нет. :(

Ruth ★★
()

На Хабре есть истории успеха по переходу с питона на го в Яндексе, чего тебе ещё не хватает, милок

zolden ★★★★★
()
Ответ на: комментарий от zolden

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

chupasaurus
()

Мы перевели обработку 500-мегабайтных xml файлов с Ruby на Go. Хорошо хотя бы то, что можно использовать больше одного ядра процессора.

Думаю, Ruby сравним с Python по скорости.

lochness
()

А что тут тестить: C++ < (java | golang) < pypy < python

RazrFalcon ★★★★★
()
Ответ на: комментарий от Ruth

И на небольшом Heap. Иначе уже начинается магия с Off-Heap

Разве это не касается всех языков с gc? В golang вроде как тоже при его запусе stop the world происходит?

ertgblasd ★★
()
Ответ на: комментарий от ertgblasd

Касается. В идеале, мне кажется, нужно более тонкое управление памятью. Например, возможность иметь несколько куч, возможность иметь кучи без GC.

Пусть хоть объекты между кучами полным копированием для начала перемещаются. С Offheap оно и так сейчас подобным образом работает.

Это уже упростит, например, поднятие нескольких независимых сервисов в одной JVM.

А потом можно давать различные послабления, например, передавать константные объекты ссылкой, предполагая, что ответственность за то, что объект не соберётся в куче-владельце как мусор - на программисте.

Это уже нужно для более сложных кейсов и для намного более компетентных разработчиков.

Ruth ★★
()
Последнее исправление: Ruth (всего исправлений: 3)

А чем это не устраивает? Там довольно популярные алгоритмы которые можно реализовать и самому. Вся методика описана: https://benchmarksgame.alioth.debian.org/how-programs-are-measured.html
Самопальные тесты будут иметь очень большую систематическую ошибку.

DNA_Seq ★★☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.