Java по сравнению с Python на Hadoop

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

53
задан jnoss 26 September 2009 в 10:55
поделиться

2 ответа

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

Будет ли это иметь какое-либо существенное значение, зависит от того, что вы собираетесь делать. Я подозреваю, что вам подойдут оба языка.

15
ответ дан 7 November 2019 в 08:52
поделиться

С Python вы, вероятно, будете разрабатывать быстрее, а с Java определенно будет работать быстрее.

Google "benchmarksgame", если вы хотите увидеть очень точное сравнение скорости между всеми популярными языками, но если я правильно помню, вы говорите о 3-5 раз быстрее.

Тем не менее, в наши дни мало что связано с процессором, так что, если вы чувствуете, что лучше развивались бы с Python, сделайте это!


В ответ на комментарий (как Java может быть быстрее Python):

Все языки обрабатываются по-разному. Java примерно самый быстрый после C и C ++ (который может быть таким же быстрым или до 5 раз быстрее, чем java, но, кажется, в среднем примерно в 2 раза быстрее). Остальные в 2-5+ раз медленнее. Python - один из самых быстрых после Java. Я предполагаю, что C # примерно так же быстр, как Java или, может быть, быстрее, но в тестовой игре был только Mono (который был немного медленнее), потому что они не запускают его в Windows.

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

Например, этот показывает все тесты с Java и c ++, и вы можете видеть, что диапазон скорости примерно равен тому, что java в 3 раза медленнее (первый столбец находится между 1 и 3), а java использует гораздо больше памяти!

Теперь на этой странице показано сравнение Java и Python (с точки зрения Python). Таким образом, скорость варьируется от Python в 2 раза медленнее, чем у Java, до 174 раза медленнее, Хотя python обычно превосходит java по размеру кода и использованию памяти.

Еще один интересный момент - тесты, которые выделяли много памяти, Java на самом деле выполняла значительно лучше, чем Python, и по размеру памяти. Я почти уверен, что java обычно теряет память из-за накладных расходов на виртуальную машину, но если это исключить, java, вероятно, более эффективен, чем большинство (опять же, за исключением C).

Кстати, это Python 3, другая протестированная платформа Python (так же называемая Python) показала гораздо худшие результаты.

Если вы действительно хотели знать , насколько она быстрее, виртуальная машина поразительно умна. Он компилируется на машинный язык ПОСЛЕ запуска кода, поэтому знает наиболее вероятные пути кода и оптимизирует их. Выделение памяти - это искусство, оно действительно полезно в объектно-ориентированном языке. Он может выполнять потрясающую оптимизацию времени выполнения, которую не может сделать ни один язык, отличный от виртуальных машин. При необходимости он может работать с довольно небольшим объемом памяти и является предпочтительным языком для встроенных устройств наряду с C / C ++.

Я работал над анализатором сигналов для Agilent (думаю, дорогостоящим осциллографом), где почти весь вещь (помимо выборки) была сделана на Java. Это включает в себя рисование экрана, включая трассировку (AWT) и взаимодействие с элементами управления.

В настоящее время я работаю над проектом для всех будущих кабельных коробок. Руководство вместе с большинством других приложений будет написано на Java.

Почему бы ему не быть быстрее Python?

Я работал над анализатором сигналов для Agilent (думаю, дорогостоящим осциллографом), где почти все (кроме выборки) было сделано на Java. Это включает в себя рисование экрана, включая трассировку (AWT) и взаимодействие с элементами управления.

В настоящее время я работаю над проектом для всех будущих кабельных коробок. Руководство вместе с большинством других приложений будет написано на Java.

Почему бы ему не быть быстрее Python?

Я работал над анализатором сигналов для Agilent (думаю, дорогостоящим осциллографом), где почти все (кроме отбора проб) было сделано на Java. Это включает в себя рисование экрана, включая трассировку (AWT) и взаимодействие с элементами управления.

В настоящее время я работаю над проектом для всех будущих кабельных коробок. Руководство вместе с большинством других приложений будет написано на Java.

Почему бы ему не быть быстрее Python?

24
ответ дан 7 November 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: