Python vs .....

Все, что вы хотели знать о программизме, но боялись спросить.
borei
Маньяк
Сообщения: 4861
Зарегистрирован: 18 авг 2008, 14:51

Python vs .....

Сообщение borei »

Всем известно что питон на текущий момент является одним из доминирующих языков, возможно даже самым самым. Успех достигнут во многом благодаря гуглу. Но так ли хорош питон на самом деле. Мой основной вопрос на предмет производительности в числодробильных задачах, более предметно - линейная алгебра, операции над матрицами.
Сколько флопов можно выжать на питоне при перемножении матриц ?
Используем только питон. Результаты полученные на С-шных библиотеках, особенно чего-нибудь типа BLAS или LAPACK не рассматриваются, только чистый питон.
Аватара пользователя
alpax
Графоман
Сообщения: 10033
Зарегистрирован: 04 мар 2003, 17:39
Откуда: Richmond, BC

Re: Python vs .....

Сообщение alpax »

borei писал(а):Всем известно что питон на текущий момент является одним из доминирующих языков, возможно даже самым самым. Успех достигнут во многом благодаря гуглу.
По-моему не имеет смысла сравнивать скриптовый язык с компилируемыми языками низкого уровня.
Да, Python может быть популярным из-за простоты языка, распространения Web, и большого числа чайников, пытающихся начать программировать, но он в принципе не подходит для некоторых применений. Хотя для Web и около - да, наверно - так же как JavaScript, PHP и подобные, с которыми он в одном классе. Но сравнивать с C/C++ - это даже хуже, чем типичное сравнение яблока с апельсином, которые оба - сладкие, круглые, ярко окрашенные фрукты, но не одно и тоже.
borei писал(а):Но так ли хорош питон на самом деле. Мой основной вопрос на предмет производительности в числодробильных задачах, более предметно - линейная алгебра, операции над матрицами.
Сколько флопов можно выжать на питоне при перемножении матриц ?
Какие нафиг матрицы и числодробильные задачи в интерпретируемом скрипте?!? Только C/C++ и другие компилируемые языки!
Или это чисто теоретическое исследование, просто в рамках искусственно ограниченных условий?
borei
Маньяк
Сообщения: 4861
Зарегистрирован: 18 авг 2008, 14:51

Re: Python vs .....

Сообщение borei »

alpax писал(а):
borei писал(а):Всем известно что питон на текущий момент является одним из доминирующих языков, возможно даже самым самым. Успех достигнут во многом благодаря гуглу.
По-моему не имеет смысла сравнивать скриптовый язык с компилируемыми языками низкого уровня.
Да, Python может быть популярным из-за простоты языка, распространения Web, и большого числа чайников, пытающихся начать программировать, но он в принципе не подходит для некоторых применений. Хотя для Web и около - да, наверно - так же как JavaScript, PHP и подобные, с которыми он в одном классе. Но сравнивать с C/C++ - это даже хуже, чем типичное сравнение яблока с апельсином, которые оба - сладкие, круглые, ярко окрашенные фрукты, но не одно и тоже.
borei писал(а):Но так ли хорош питон на самом деле. Мой основной вопрос на предмет производительности в числодробильных задачах, более предметно - линейная алгебра, операции над матрицами.
Сколько флопов можно выжать на питоне при перемножении матриц ?
Какие нафиг матрицы и числодробильные задачи в интерпретируемом скрипте?!? Только C/C++ и другие компилируемые языки!
Или это чисто теоретическое исследование, просто в рамках искусственно ограниченных условий?
Я сейчас переношу свой проект с С/C++, где приличный обьем числодробильни на другой язык - lisp. Да в производительности потеряю, но скорее всего поимею в гибкости и скорости разработки. Хотелось бы посмотреть на производительность в сравнении с питоном.
По поводу компилируемый интерпретируемый - я не знаю как это относить к современным языкам. Питон делает байт-код (могу ошибиться) - это будет компиляция или что ? Lisp - компилирует на лету, но с другой стороны полностью предоставляет REPL и все плюшки взаимодействия со средой. С/C++ - только компиляция, со всеми вытекающими.
Да на текущий момент - теоретическое исследование с наложенными ограничениями.
Аватара пользователя
alpax
Графоман
Сообщения: 10033
Зарегистрирован: 04 мар 2003, 17:39
Откуда: Richmond, BC

Re: Python vs .....

Сообщение alpax »

borei писал(а):Я сейчас переношу свой проект с С/C++, где приличный обьем числодробильни на другой язык - lisp. Да в производительности потеряю, но скорее всего поимею в гибкости и скорости разработки.
Это однозначно конечно.
borei писал(а):По поводу компилируемый интерпретируемый - я не знаю как это относить к современным языкам. Питон делает байт-код (могу ошибиться) - это будет компиляция или что ? Lisp - компилирует на лету, но с другой стороны полностью предоставляет REPL и все плюшки взаимодействия со средой. С/C++ - только компиляция, со всеми вытекающими.
Байт-код - немного лучше, чем прямая интерпретация - быстрее "исходный текст" читается, и гораздо меньше надо проверять при выполнении программы - так, например, Java и C# работают. Но все равно это далеко не компиляция в native code, в отличие от которого при выполнении программы в байт-коде делается на порядок больше операций: на одну команду процессора, делающую реальную работу, выполняется еще от нескольких штук до нескольких десятков и даже сотен команд, расшифровывающих байт-код и приводящих к той самой реальной команде.
borei писал(а):Да на текущий момент - теоретическое исследование с наложенными ограничениями.
Ну, это имеет право на существование. :)
Pektusin
Маньяк
Сообщения: 4496
Зарегистрирован: 02 янв 2008, 10:37

Re: Python vs .....

Сообщение Pektusin »

alpax писал(а):По-моему не имеет смысла сравнивать скриптовый язык с компилируемыми языками низкого уровня.
Python не совсем скриптовый язык, потому что соурс компилируется в байткод и исполняется виртуальной машиной (файлы .pyc)
Да, Python может быть популярным из-за простоты языка, распространения Web, и большого числа чайников, пытающихся начать программировать, но он в принципе не подходит для некоторых применений.
Не знаю, у нас в embedded Python используется в полный рост. У меня сын писал бридж между С и Python - можно комбинировать языки, если нужно исполнять критичные к производительности куски кода или просто реюзать С-код.

зы: про чайников ты погорячился :)
AndreyA
Маньяк
Сообщения: 1165
Зарегистрирован: 25 сен 2006, 10:30
Откуда: Burnaby

Re: Python vs .....

Сообщение AndreyA »

Мне нравится когда люди рассуждают на темы в которых совсем не понимают.
Python в данное время очень часто используется в научной среде для обработки математических моделей и статистического анализа ну и в data science. Еще ко всему прочему надо добавить что питон очень хорош тем что для него очень много модулей которые реализуют нейронные сети и математический аппарат.
В общем, миллионы мух не могут ошибаться :)
AndreyA
Маньяк
Сообщения: 1165
Зарегистрирован: 25 сен 2006, 10:30
Откуда: Burnaby

Re: Python vs .....

Сообщение AndreyA »

Ну и вот на тему скорости - https://www.ibm.com/developerworks/comm ... on?lang=en
Аватара пользователя
LeoV
Графоман
Сообщения: 14497
Зарегистрирован: 02 июн 2012, 15:41
Откуда: Графство O'Mан
Контактная информация:

Re: Python vs .....

Сообщение LeoV »

AndreyA писал(а): В общем, миллионы мух не могут ошибаться :)
... в поисках дерьма. :D
Аватара пользователя
alpax
Графоман
Сообщения: 10033
Зарегистрирован: 04 мар 2003, 17:39
Откуда: Richmond, BC

Re: Python vs .....

Сообщение alpax »

Pektusin писал(а):Python не совсем скриптовый язык, потому что соурс компилируется в байткод и исполняется виртуальной машиной (файлы .pyc)
Да сейчас многие скриптовые языки компилируются в байт-код. Тот же JavaScript, например - если не заранее, то на уровне JS-engine в браузере.
Pektusin писал(а):Не знаю, у нас в embedded Python используется в полный рост. У меня сын писал бридж между С и Python - можно комбинировать языки, если нужно исполнять критичные к производительности куски кода или просто реюзать С-код.
Что и требовалось доказать. :)
Pektusin писал(а):зы: про чайников ты погорячился :)
Я ж не говорю, что "только чайники". Просто, поскольку язык достаточно простой, при этом распространенный, его сейчас многие используют для обучения программированию.
Аватара пользователя
alpax
Графоман
Сообщения: 10033
Зарегистрирован: 04 мар 2003, 17:39
Откуда: Richmond, BC

Re: Python vs .....

Сообщение alpax »

AndreyA писал(а):Мне нравится когда люди рассуждают на темы в которых совсем не понимают.
Это ты про меня что ли?
Произошла революция в области байт-кодовых и скриптовых языков, про которую я не слышал?
AndreyA писал(а):Python в данное время очень часто используется в научной среде для обработки математических моделей и статистического анализа ну и в data science.
И чо? :)
Естественно - пользоваться им удобно, уровень вхождения в тему - низкий, как с большинством скриптовых языков. О чем я и говорил выше - про "чайников" в области программирования, которыми многие ученые по сути являются, потому что это не основное их направление деятельности.
AndreyA писал(а):Еще ко всему прочему надо добавить что питон очень хорош тем что для него очень много модулей которые реализуют нейронные сети и математический аппарат.
Именно по той же причине - их проще разрабатывать тем же ученым. А многие модули наверняка включают в себя библиотеки, написанные на том же C - для тех функций, где нужна высокая производительность.
AndreyA писал(а):В общем, миллионы мух не могут ошибаться :)
Вот с этим я полностью согласен. Только я не уверен, что ты имел в виду именно это. :)
AndreyA писал(а):Ну и вот на тему скорости - https://www.ibm.com/developerworks/comm ... on?lang=en
Замечательно! Если есть хороший компилятор, тогда естественно производительность увеличивается до уровня C - и снова лишь подтверждает, что я говорил выше: язык, компилируемый в native code надо сравнивать с компилируемым.
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 43355
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby

Re: Python vs .....

Сообщение Stanislav »

AndreyA писал(а): Python в данное время очень часто используется в научной среде для обработки математических моделей и статистического анализа ну и в data science.
Все это благобдабадаря [(с) Масяня] тому, что появились дешевые Фальконы Хэви в мире процессоров :roll:
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 43355
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby

Re: Python vs .....

Сообщение Stanislav »

alpax писал(а):при выполнении программы в байт-коде делается на порядок больше операций: на одну команду процессора, делающую реальную работу, выполняется еще от нескольких штук до нескольких десятков и даже сотен команд, расшифровывающих байт-код и приводящих к той самой реальной команде.
А я думал там ХотСпот рулит... :roll:
putanik
Житель
Сообщения: 516
Зарегистрирован: 12 мар 2012, 05:29

Re: Python vs .....

Сообщение putanik »

AndreyA писал(а):Ну и вот на тему скорости - https://www.ibm.com/developerworks/comm ... on?lang=en
очень любительский пример. человек просто не понимает что делает.

а вообше-то, по хорошему, математику обычно прописывают на ассемблере.
AndreyA
Маньяк
Сообщения: 1165
Зарегистрирован: 25 сен 2006, 10:30
Откуда: Burnaby

Re: Python vs .....

Сообщение AndreyA »

Вот этот человек не понимает - https://www.linkedin.com/in/jfpuget/ ?
Вы уверены что вы лучше этого человека понимаете? Я вот как то не очень в этом уверен.
Аватара пользователя
LeoV
Графоман
Сообщения: 14497
Зарегистрирован: 02 июн 2012, 15:41
Откуда: Графство O'Mан
Контактная информация:

Re: Python vs .....

Сообщение LeoV »

putanik писал(а):
AndreyA писал(а):Ну и вот на тему скорости - https://www.ibm.com/developerworks/comm ... on?lang=en
очень любительский пример. человек просто не понимает что делает.

а вообше-то, по хорошему, математику обычно прописывают на ассемблере.
одноразовую обработку результатов на ассемлере, и даже на С++ никто прописывать не будет
Ответить