LINUX.ORG.RU

Производительность скриптовых языков


0

3

Плиз, дайте ссылку, где даётся объективное [1] сравнение производительности популярных скриптовых языков (обязательны: perl, ruby, python, tcl). Гугл даёт что-то левое и не удовлетворяет сноске [1].

[1] Объективное = не предвзятое, со множеством тестов (регекспы, io, вычисления...).


не найдёшь
инфа 100%
гуру одного языка != гуру другого языка
потому тесты некорректны сами по себе
а с скриптовых ещё и куча делитантов/ламо - тут даже среднестатистический не показатель
успокойся

megabaks ★★★★
()

они _все_ ортогональны производительности

anonymous
()

> Производительность скриптовых языков

о_О

ты себе и девушку выбираешь по массе мышц, цвету диплома или сколько литров пива она может выпить за 5 минут?

arsi ★★★★★
()

они все одинаково тормозные. серьезно.

Какая разница в 1100 раз что-то медленее сишечки работает или в 1200?

Если надо высокопроизводительный высокоуровневый язык с динамической типизацией, бери лисп. Вон SBCL по производительности можно вплоть до уровня Си надрочить, да и даже круче, если встроенным ассемблером пользоваться.

Все что в произвольно взятом скриптовом языке есть, там тоже есть(я имею ввиду, обычно какую-то конкретную скриптоту берут ради какого-либо определенного фреймворка, ну типа рабби для рельсов и т.п., но тебе походу все равно какой брать, так что проблемы нет). Базовый минимум библиотек берется в quicklisp'е, дополнительное - ну модули на си и прочем можно писать, как и в скриптовых языках. Встраивать тоже можно, по идее(я недавно ECL собрал - все ништяк работает, встраивается очень легко).

lovesan

anonymous
()

по идее groovy из-за того что транслируется в байт-код jvm должен рвать их всех по производительности, так что в приведенной во втором комменте ссылке цифры для явы относятся и к груви

anonymous
()

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

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

А что, давно это плюсцы автоматически означают высокопроизводительный код?

Я тебя уверяю, я видел на плюсах проекты, которые работали быстрее после переписывания не то что на Java, так на тот самый Python.

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

ну....как писать
привет миры в разы быстрей овер конвертор
а если выхлоп ещё и перелопатить...

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

Вот как достало это бредовое, но распространенное, мнение, что де если есть какой-то язык под JVM, значит работать он будет так же быстро, как Java.

JVM такая штука, что заточена под один конкретный язык, угадай какой. И соответственно, более-менее быстро на JVM работает только он. Серьезно, жабовая виртуальная машина была спроектирована, да и сейчас дорабатывается, так, чтобы на ней именно и только Java и работала быстро. Это даже в названии у нее указано, прикиньте.

Плюс, Java - очень строгий язык, со статической типизацией, его легко компилировать в эффективный низкоуровневый код.

Другие JVM-языки, и особенно те, которые на Java нисколько не похожи, и особенно с динамической типизацией(типа IronPython etc. - зацените кто-нибудь на досуге), на JVM тормозят так, что их реализации и аналоги вне JVM кажутся просто каким-то адовым космолетом на термоядерном топливе.

lovesan

anonymous
()

По теме может кто-нибудь сказать? Без обсуждения — зачем это надо. И без рекламы лиспа и си. Я специально тему создавал не в Talks.

Учитывая, что в быстром темпе жизни все читают только начальные и конечные слова поста, закончу повтором:

обязательны: perl, ruby, python, tcl

toady2
() автор топика
Ответ на: комментарий от anonymous

Хливких шорьков напикать.

Теперь по плану реклама Лиспа.

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

> обязательны: perl, ruby, python, tcl

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

dnoskov
()

ппц как тут трудно добиться прямого ответа на вопрос. Позовёте меня, когда будете рецепт яичницы с помидорами обсуждать?

toady2
() автор топика
Ответ на: комментарий от anonymous

Groovy использует Java-подобный синтаксис с динамической компиляцией в JVM байт-код и напрямую работает с другим Java кодом и библиотеками.

Возможности Groovy (отличающие его от Java):
— Статическая и динамическая типизация
— Встроенный синтаксис для списков, ассоциативных массивов, массивов и регулярных выражений
— Замыкания
— Перегрузка операций

Более того, почти всегда java-код — это валидный groovy-код.

anonymous
()

лучше озвучь свою задачу

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

JVM такая штука, что заточена под один конкретный язык, ugoday какой.

// qfix

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

JVM такая штука, что заточена под один конкретный язык, угадай какой. И соответственно, более-менее быстро на JVM работает только он. Серьезно, жабовая виртуальная машина была спроектирована, да и сейчас дорабатывается, так, чтобы на ней именно и только Java и работала быстро. Это даже в названии у нее указано, прикиньте.

синтепончик, ты вот адекватный чувак, но пока не вылезаешь за Lisp-domain, ну вот зачем ты это сказал, чтобы с тебя пруф попросили?

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

ппц как тут трудно добиться прямого ответа на вопрос.

какой вопрос задал, такие и ответы получи

Позовёте меня, когда будете рецепт яичницы с помидорами обсуждать?

говорящие помидоры!!!111

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

Другие JVM-языки, и особенно те, которые на Java нисколько не похожи, и особенно с динамической типизацией(типа IronPython [..]

«IronPython is an implementation of the Python programming language running under .NET/Mono and Silverlight/Moonlight.» (c)

JVM - мать-героиня, и своих детей кучу вынашивает, и чужих не чурается

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

Блять, ну перепутал, вот придрался, а.

Jython имелся ввиду, да.

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

Давай прежде чем делать умный всёзнающий вид, оговоришь, какие именно пункты и тезисы вызывают сомнения?

Хотя, сначала попробую угадать. Я так понимаю, тебя смущает тезис о том, что рантайм JVM является субоптимальным для динамических языков, для функциональщины, а также языков с объектной моделью, отличной от жабовой(т.е. с прототипным ООП, с мультиметодами и т.п.)?

Ты никогда не думал, что для всех этих разных моделей языков программирования, нужны разные рантаймы, которые проводят разную оптимизацию, и оперируют совершенно разными объектами, и создать одну оптимальную для всех них платформу - невозможно(даже, допустим, x86е процессоры под такую не подходят, и заточены они фактически только под си-подобные языки(которые суть статическая типизация плюс единая линейная неуправляемая виртуальная память); но хрен с ними с процессорами, раз уж мы про VM работающие поверх них)? Не думал?

Если думал, могу продолжить. Если не думал - ну в этом случае я продолжать не буду, так как с дураками разговаривать бесполезно.

lovesan

anonymous
()

Тебя не должно это волновать.

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

>они все одинаково тормозные. серьезно.

Если для тебя разница в два порядка — это «одинаково», то… :D

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

>отличный тест

Там, мягко говоря, больше дюжины тестов.

KRoN73 ★★★★★
()

Тестов не дам, то видимо perl, lua, nodejs - самые быстрые

dizza ★★★★★
()

Скриптовый язык — на то и скриптовый, что его производительность не важна.

anonymous
()

Помню писал когда-то бота и решил переписать на разных языках (скриптовых) программирования. В конце остались руби и питон. Руби обгонял питон. Пришлось оптимизировать питон-бота. Теперь, питон уже обгонял руби. Начал оптимизировать руби-бота. Снова руби рвал питон. Оптимизировал питон, оптимизировал руби. Питон, руби, питон, руби. Про%;бался неделю. В конечно итоге остался на питоне. Разницы никакой между ними нету, бери то, что тебе легче даётся, приятней и интуитивно понятней.

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

это лавсан то адекватный?!?!?!

судя по пунктуации - всяко адекватней тебя :)

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

>Крон, а почему на pure C теста нет? :)

Потому что там цель теста — выяснение скорости работы именно с объектами. К сожалению, так руки не дошли потом сделать ещё вариант с наследованием — на нём тоже оверхед заметный бывает.

А чисто числодробильные тесты — для этого и shootout.alioth.debian.org есть :)

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

>У питона тоже подвижки были: твое фибоначи посчиталось за 4.4s

Тут же важно, какое железо. Вряд ли ты тест на Celeron-1860 делал :)

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

у Tcl медленное всё

Многократно читал, что этим страдают только старые версии tcl. В новых версиях уже байткод, а концепция «всё — строка» оставлена только внешне, внутри же всё перестроено для увеличения производительности (см. напр. md5).

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