LINUX.ORG.RU

Почему ЯП медленые?

 ,


0

3

Почему говорят что одни языки программирования медленые, а другие быстрые? Ведь это зависит от реализации компилятора или интерпретатора. А сам ЯП по сути синтаксис.

★★

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

Ответ на: комментарий от no-such-file

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

Это называется Profile-Guided Optimization.

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

То-то JavaEE 8 вышел

Ага: https://habrahabr.ru/company/piter/blog/342124/

Всё непонятнее и непонятнее, как это всё работает. Прям магия какая-то. Теряешь нить управления - за тебя всё волшебный ящик (контейнер) делает. Главное правильные заклинания (аннотации) добавить к классам и оп-ля-ля, всё работает!

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

Потому же, почему двуногие принципиально медленнее четвероногих.

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

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

Питон коренным образом отличается от джавы тем, что дефолтный питон (cpython) дефолтной версии (3.6.4) не содержит JIT, и скорей всего никогда не будет

Да, numba нет, и никогда не будет.

yvv ★★☆
()

Это только кукаретики с ЛОР так говорят, нечего их слушать.

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

Пайтон в этом отношении ничем не отличается от Джавы. Исходники компилируются в байт-код, который выполняется виртуальной машиной.

Ага, только у жабы машина феррари, а у петона - жопарожец. А так ничем не отличается.

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

Я джава-евангелист

Машину времени угнал? Ну как оно там в 98-м? Долларов не забудь прикупить до лета.

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

К нам на JBreak в Новосиб, скорей всего, прилетит оракловский евангелист, который на JEE специализируется. Попробую из него вытянуть как можно больше. У меня есть нехорошее чувство и набор фактов, которые показывают, что Oracle хочет отдать JEE в опенрсорц и избавиться от самого важного, что они приносят - архитектурного видения, вырабатываемого оракловскими архитекторами и код, который пишут их штатные кодеры на зарплате. Их уже однажды от всего этого отстранили, и надо понять - насколько это. JEE отданный в опенсорц, без опеки Оракла (а только лишь с финансированием) - ненужен

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от ugoday

Потому же, почему двуногие принципиально медленнее четвероногих.

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

Наверное, потому, что руки не станут ногами, даже если я встану на голову.

Не припоминаю, чтобы выбегал из 15 секунд даже на двух ногах.

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

Что ж вы тупые-то такие? Единственное отличие — джава это статически типизированный язык с ВМ, а питон — динамически типизированный язык с ВМ. Поэтому у джавы родовых дефектов, препятствующих повышению перформанса, принципиально меньше.

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

Рад, что ты делишься с нами своим личным опытом.

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

руки не станут ногами, даже если я встану на голову.

Конечно же нет. При постановки на четвереньи руки и ноги станут лапами.

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

«А если наклонился в общем душе за упавшим мылом, то становишься женщиной.» И еще 100 забавных абсурдных логических выводов.

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

Потому же, почему двуногие принципиально медленнее четвероногих.

Точно. Черепаха офигенно быстрая, она просто никуда не спешит :)

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

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

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

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

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

то есть? у панды - руки, а если у тебя большой палец отрезать, то рука превратиться в лапу?

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

у панды - руки, а если у тебя большой палец отрезать, то рука превратиться в лапу?

Покажи фото, где у панды есть ярко выраженный большой палец. А если у меня отрезать большой палец, рука по функциональным возможностям приблизится к лапе, да, а я стану инвалидом.

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

ты кто по профессии? школьник?

Покажи фото, где у панды есть ярко выраженный большой палец.

так ты так и пиши: «наличием ярко выраженного большого пальца». тогда возникает вопрос: что значит ярко выраженный большой палец? и чем он отличается от не ярко выраженного большого пальца?

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

А разве в python не JIT компиляция. Папочка возникающая после первого запуска python скрипта как бы намекает. Насколько я понял при первом вызове import заданный модуль преобразуется в байткод.

Из учебника:

Если интерпретатор Python на вашем компьютере обладает правом записи, он будет сохранять байт-код вашей программы в виде файла с расширением .pyc (.pyc – это компилированный исходный файл .py). Вы будете обнаруживать эти файлы после запуска программ по соседству с файлами, содержащими исходные тексты (то есть в том же каталоге). Интерпретатор сохраняет байт-код для ускорения запуска программ. В следующий раз, когда вы попробуете запустить свою программу, Python загрузит файл .pyc и минует этап компиляции – при условии, что исходный текст программы не изменялся с момента последней компиляции. Чтобы определить, необходимо ли выполнять перекомпиляцию, Python автоматически сравнит время последнего изменения файла с исходным текстом и файла с байт-кодом.

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

Компилятор как раз знает. Если это JIT-компилятор.

Откуда компилятору python знать какие объекты поступят в функцию при её следующем вызове? Код python может изменяться прямо во время выполнения. Тут либо скорость выполнения, либо полиморфизм в питоновском понимании.

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

Байт-код это не jit компиляция, и папочка никакого отношения к jit не имеет. JIT на то и JIT, что компилирует в рантайме. И итогом JIT компиляции является машинный, а не байт-код

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

Байт-код это не jit компиляция

Да. Тупанул. Извиняюсь

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

Покажи фото, где у панды есть ярко выраженный большой палец.

так ты так и пиши: «наличием ярко выраженного большого пальца». тогда возникает вопрос: что значит ярко выраженный большой палец? и чем он отличается от не ярко выраженного большого пальца?

Ты так усердно притворяешься глупым, что я начинаю в это верить.

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