Python vs .....

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

Python vs .....

Сообщение borei »

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

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

Re: Python vs .....

Сообщение alpax »

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

borei
Маньяк
Сообщения: 4426
Зарегистрирован: 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
Графоман
Сообщения: 8468
Зарегистрирован: 04 мар 2003, 17:39
Откуда: Richmond, BC

Re: Python vs .....

Сообщение alpax »

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

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

Re: Python vs .....

Сообщение Pektusin »

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

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

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

Re: Python vs .....

Сообщение AndreyA »

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

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

Re: Python vs .....

Сообщение AndreyA »

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

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

Re: Python vs .....

Сообщение LeoV »

AndreyA В общем, миллионы мух не могут ошибаться :)
... в поисках дерьма. :D

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

Re: Python vs .....

Сообщение alpax »

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

Аватара пользователя
alpax
Графоман
Сообщения: 8468
Зарегистрирован: 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
Сообщения: 35211
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby

Re: Python vs .....

Сообщение Stanislav »

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

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

Re: Python vs .....

Сообщение Stanislav »

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

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

Re: Python vs .....

Сообщение putanik »

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

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

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

Re: Python vs .....

Сообщение AndreyA »

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

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

Re: Python vs .....

Сообщение LeoV »

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

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

Ответить