Python vs .....

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

Python vs .....

Сообщение borei » 07 фев 2018, 09:53

Всем известно что питон на текущий момент является одним из доминирующих языков, возможно даже самым самым. Успех достигнут во многом благодаря гуглу. Но так ли хорош питон на самом деле. Мой основной вопрос на предмет производительности в числодробильных задачах, более предметно - линейная алгебра, операции над матрицами.
Сколько флопов можно выжать на питоне при перемножении матриц ?
Используем только питон. Результаты полученные на С-шных библиотеках, особенно чего-нибудь типа BLAS или LAPACK не рассматриваются, только чистый питон.

Аватара пользователя
alpax
Графоман
Сообщения: 7071
Зарегистрирован: 04 мар 2003, 17:39
Откуда: Richmond, BC

Re: Python vs .....

Сообщение alpax » 07 фев 2018, 11:20

borei:Всем известно что питон на текущий момент является одним из доминирующих языков, возможно даже самым самым. Успех достигнут во многом благодаря гуглу.
По-моему не имеет смысла сравнивать скриптовый язык с компилируемыми языками низкого уровня.
Да, Python может быть популярным из-за простоты языка, распространения Web, и большого числа чайников, пытающихся начать программировать, но он в принципе не подходит для некоторых применений. Хотя для Web и около - да, наверно - так же как JavaScript, PHP и подобные, с которыми он в одном классе. Но сравнивать с C/C++ - это даже хуже, чем типичное сравнение яблока с апельсином, которые оба - сладкие, круглые, ярко окрашенные фрукты, но не одно и тоже.

borei:Но так ли хорош питон на самом деле. Мой основной вопрос на предмет производительности в числодробильных задачах, более предметно - линейная алгебра, операции над матрицами.
Сколько флопов можно выжать на питоне при перемножении матриц ?
Какие нафиг матрицы и числодробильные задачи в интерпретируемом скрипте?!? Только C/C++ и другие компилируемые языки!
Или это чисто теоретическое исследование, просто в рамках искусственно ограниченных условий?

borei
Маньяк
Сообщения: 4294
Зарегистрирован: 18 авг 2008, 14:51

Re: Python vs .....

Сообщение borei » 07 фев 2018, 11:31

alpax:
borei:Всем известно что питон на текущий момент является одним из доминирующих языков, возможно даже самым самым. Успех достигнут во многом благодаря гуглу.
По-моему не имеет смысла сравнивать скриптовый язык с компилируемыми языками низкого уровня.
Да, Python может быть популярным из-за простоты языка, распространения Web, и большого числа чайников, пытающихся начать программировать, но он в принципе не подходит для некоторых применений. Хотя для Web и около - да, наверно - так же как JavaScript, PHP и подобные, с которыми он в одном классе. Но сравнивать с C/C++ - это даже хуже, чем типичное сравнение яблока с апельсином, которые оба - сладкие, круглые, ярко окрашенные фрукты, но не одно и тоже.

borei:Но так ли хорош питон на самом деле. Мой основной вопрос на предмет производительности в числодробильных задачах, более предметно - линейная алгебра, операции над матрицами.
Сколько флопов можно выжать на питоне при перемножении матриц ?
Какие нафиг матрицы и числодробильные задачи в интерпретируемом скрипте?!? Только C/C++ и другие компилируемые языки!
Или это чисто теоретическое исследование, просто в рамках искусственно ограниченных условий?


Я сейчас переношу свой проект с С/C++, где приличный обьем числодробильни на другой язык - lisp. Да в производительности потеряю, но скорее всего поимею в гибкости и скорости разработки. Хотелось бы посмотреть на производительность в сравнении с питоном.
По поводу компилируемый интерпретируемый - я не знаю как это относить к современным языкам. Питон делает байт-код (могу ошибиться) - это будет компиляция или что ? Lisp - компилирует на лету, но с другой стороны полностью предоставляет REPL и все плюшки взаимодействия со средой. С/C++ - только компиляция, со всеми вытекающими.
Да на текущий момент - теоретическое исследование с наложенными ограничениями.

Аватара пользователя
alpax
Графоман
Сообщения: 7071
Зарегистрирован: 04 мар 2003, 17:39
Откуда: Richmond, BC

Re: Python vs .....

Сообщение alpax » 07 фев 2018, 11:47

borei:Я сейчас переношу свой проект с С/C++, где приличный обьем числодробильни на другой язык - lisp. Да в производительности потеряю, но скорее всего поимею в гибкости и скорости разработки.
Это однозначно конечно.

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

borei:Да на текущий момент - теоретическое исследование с наложенными ограничениями.
Ну, это имеет право на существование. :)

Аватара пользователя
Pektusin
Маньяк
Сообщения: 3418
Зарегистрирован: 02 янв 2008, 10:37

Re: Python vs .....

Сообщение Pektusin » 07 фев 2018, 12:13

alpax:По-моему не имеет смысла сравнивать скриптовый язык с компилируемыми языками низкого уровня.


Python не совсем скриптовый язык, потому что соурс компилируется в байткод и исполняется виртуальной машиной (файлы .pyc)

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


Не знаю, у нас в embedded Python используется в полный рост. У меня сын писал бридж между С и Python - можно комбинировать языки, если нужно исполнять критичные к производительности куски кода или просто реюзать С-код.

зы: про чайников ты погорячился :)

AndreyA
Маньяк
Сообщения: 1132
Зарегистрирован: 25 сен 2006, 10:30
Откуда: Burnaby

Re: Python vs .....

Сообщение AndreyA » 07 фев 2018, 12:24

Мне нравится когда люди рассуждают на темы в которых совсем не понимают.
Python в данное время очень часто используется в научной среде для обработки математических моделей и статистического анализа ну и в data science. Еще ко всему прочему надо добавить что питон очень хорош тем что для него очень много модулей которые реализуют нейронные сети и математический аппарат.
В общем, миллионы мух не могут ошибаться :)

AndreyA
Маньяк
Сообщения: 1132
Зарегистрирован: 25 сен 2006, 10:30
Откуда: Burnaby

Re: Python vs .....

Сообщение AndreyA » 07 фев 2018, 12:41

Ну и вот на тему скорости - https://www.ibm.com/developerworks/comm ... on?lang=en

Аватара пользователя
LeoV
Графоман
Сообщения: 8805
Зарегистрирован: 02 июн 2012, 15:41
Откуда: Графство O'Mан
Контактная информация:

Re: Python vs .....

Сообщение LeoV » 07 фев 2018, 12:55

AndreyA:В общем, миллионы мух не могут ошибаться :)

... в поисках дерьма. :D

Аватара пользователя
alpax
Графоман
Сообщения: 7071
Зарегистрирован: 04 мар 2003, 17:39
Откуда: Richmond, BC

Re: Python vs .....

Сообщение alpax » 07 фев 2018, 14:02

Pektusin:Python не совсем скриптовый язык, потому что соурс компилируется в байткод и исполняется виртуальной машиной (файлы .pyc)
Да сейчас многие скриптовые языки компилируются в байт-код. Тот же JavaScript, например - если не заранее, то на уровне JS-engine в браузере.

Pektusin:Не знаю, у нас в embedded Python используется в полный рост. У меня сын писал бридж между С и Python - можно комбинировать языки, если нужно исполнять критичные к производительности куски кода или просто реюзать С-код.
Что и требовалось доказать. :)

Pektusin:зы: про чайников ты погорячился :)
Я ж не говорю, что "только чайники". Просто, поскольку язык достаточно простой, при этом распространенный, его сейчас многие используют для обучения программированию.

Аватара пользователя
alpax
Графоман
Сообщения: 7071
Зарегистрирован: 04 мар 2003, 17:39
Откуда: Richmond, BC

Re: Python vs .....

Сообщение alpax » 07 фев 2018, 14:21

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
Сообщения: 32377
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby

Re: Python vs .....

Сообщение Stanislav » 09 фев 2018, 21:11

AndreyA:Python в данное время очень часто используется в научной среде для обработки математических моделей и статистического анализа ну и в data science.

Все это благобдабадаря [(с) Масяня] тому, что появились дешевые Фальконы Хэви в мире процессоров :roll:

Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 32377
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby

Re: Python vs .....

Сообщение Stanislav » 09 фев 2018, 21:19

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

А я думал там ХотСпот рулит... :roll:

putanik
Пользователь
Сообщения: 143
Зарегистрирован: 12 мар 2012, 05:29

Re: Python vs .....

Сообщение putanik » 10 фев 2018, 20:53

AndreyA:Ну и вот на тему скорости - https://www.ibm.com/developerworks/comm ... on?lang=en


очень любительский пример. человек просто не понимает что делает.

а вообше-то, по хорошему, математику обычно прописывают на ассемблере.

AndreyA
Маньяк
Сообщения: 1132
Зарегистрирован: 25 сен 2006, 10:30
Откуда: Burnaby

Re: Python vs .....

Сообщение AndreyA » 10 фев 2018, 21:17

Вот этот человек не понимает - https://www.linkedin.com/in/jfpuget/ ?
Вы уверены что вы лучше этого человека понимаете? Я вот как то не очень в этом уверен.

Аватара пользователя
LeoV
Графоман
Сообщения: 8805
Зарегистрирован: 02 июн 2012, 15:41
Откуда: Графство O'Mан
Контактная информация:

Re: Python vs .....

Сообщение LeoV » 10 фев 2018, 21:29

putanik:
AndreyA:Ну и вот на тему скорости - https://www.ibm.com/developerworks/comm ... on?lang=en


очень любительский пример. человек просто не понимает что делает.

а вообше-то, по хорошему, математику обычно прописывают на ассемблере.

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


Вернуться в «Программизм»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей