Python vs .....

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

Re: Python vs .....

Сообщение borei » 10 фев 2018, 21:57

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


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

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

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

Ну об одноразовой обработке никто не говорит.
Цифирей сколько получили флопов я чегото не нашел, отсюда сложно сказать как хорошо или плохо реализованы алгоритмы.
Если действительно нужен результат - то это да ассемблер и в числодробильне нужен SIMD.
Я сейчас с этим и вожусь.

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

Re: Python vs .....

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

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


да, я б такую чушь не написал.

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

Re: Python vs .....

Сообщение AndreyA » 10 фев 2018, 22:47

Вы нам ваш Phd по математике покажите и опыт работа на архитектурных позициях в компании типа IBM, вот тогда и будем говорить. А еще лучше покажите нам ваши статьи и их цитирование в сообществе :) Будет хоть как вас с данным товарищем сравнить :)

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

Re: Python vs .....

Сообщение putanik » 11 фев 2018, 10:29

у современных процессоров длинный pipeline, 4-8 parallel MAC units, multiple cores, very complicated memory access. Data must be properly aligned. You need to re-write your source algorithm to make sure the pipeline is fully load-able, the parallelism is exploited, etc. The gain may be 10..100x. To make full use of modern processors, you need assembly or IPP-like libs. Otherwise ... what you are comparing is not clear, скажем так.

что больше всего смешит в примере, это использование double. Double, Karl! есть очень мало задач в которых исходные данные поступают с такой точностью. для остальных использование double - маркер непрофессионализма. дальше использование тиме() вместо performance counter-ов, ни к селу ни к городу засунутые прагмы, итд и тп.

Вообще-то мой титул на последней работе был Senior Scienist (Intel), и занимался я непосредственно разработкой алгоритмов, а не руководством толпой. Но не в этом суть.

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

Re: Python vs .....

Сообщение AndreyA » 11 фев 2018, 10:48

Здорово, теперь статьи?
Ну и что там с Python? Все на асме пишем?

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

Re: Python vs .....

Сообщение putanik » 11 фев 2018, 15:39

AndreyA:Здорово, теперь статьи?
Ну и что там с Python? Все на асме пишем?


слишком много факторов вовлечено в сравнение питона и С. на такой general question я не возьмусь отвечать. но если есть специфичные ворпосы, тогда - с удовольствием.

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

Re: Python vs .....

Сообщение borei » 11 фев 2018, 17:15

putanik:у современных процессоров длинный pipeline, 4-8 parallel MAC units, multiple cores, very complicated memory access. Data must be properly aligned. You need to re-write your source algorithm to make sure the pipeline is fully load-able, the parallelism is exploited, etc. The gain may be 10..100x. To make full use of modern processors, you need assembly or IPP-like libs. Otherwise ... what you are comparing is not clear, скажем так.

что больше всего смешит в примере, это использование double. Double, Karl! есть очень мало задач в которых исходные данные поступают с такой точностью. для остальных использование double - маркер непрофессионализма. дальше использование тиме() вместо performance counter-ов, ни к селу ни к городу засунутые прагмы, итд и тп.

Вообще-то мой титул на последней работе был Senior Scienist (Intel), и занимался я непосредственно разработкой алгоритмов, а не руководством толпой. Но не в этом суть.

Респектую!
У меня сейчас вопросов конкретных нету, но думаю подтянутся, если не против я бы потом поспрашал.
Что касается скорострельность и роста до x10-x100. Я в это не верил, но когда начал играться с оптимизацией в основном доступ к памяти и получил прирост x40 то немного офигел. Думаю что когда прикручу работу с упакованными числами то ещё раза в 4 подниму. Хорошо бы конечно поиметь доступ к avx2, там 256 разрядные регистры , но пока не знаю как сделать.
По текущему состоянию я имею пару гигафлопов на одном ядре, думаю получить в районе 30-40 когда задействую все ресурсы. Не лапак конечно но все равно не плохо.

Аватара пользователя
Leo Gan
Маньяк
Сообщения: 1750
Зарегистрирован: 29 апр 2005, 16:55
Откуда: где-то рядом с жёлтым карликом
Контактная информация:

Re: Python vs .....

Сообщение Leo Gan » 24 фев 2018, 14:58

Было странно читать все что выше.
Библиотеки для Python написаны на С и работают со скоростью С. Numpy, Numba... https://modelingguru.nasa.gov/docs/DOC-2625
Библиотеки для Machine Learning: TensorFlow, pytorch... вообще используют GPU
На Quora эта тема живо обсуждается https://www.quora.com/topic/Python-Vs-C++-1
Основной мотив такой: Python используют вовсю там, где приложение должно быстро менятся, адаптивроваться, развиваться. Мощность Python (в количестве_реализуемых_требований/строк_кода) у него дико больше, чем у С. Поэтому приложения делаются и выводятся в продакшен за дни, а не за месяцы-годы. А что медленно, для того пишутся библиотеки на том же С.
Google, Facebook вовсю его используют в продакшн.

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

Re: Python vs .....

Сообщение alpax » 24 фев 2018, 15:15

Leo Gan:Было странно читать все что выше.
Библиотеки для Python написаны на С и работают со скоростью С.
:up:

Leo Gan:Основной мотив такой: Python используют вовсю там, где приложение должно быстро менятся, адаптивроваться, развиваться. Мощность Python (в количестве_реализуемых_требований/строк_кода) у него дико больше, чем у С. Поэтому приложения делаются и выводятся в продакшен за дни, а не за месяцы-годы.
:up:

Leo Gan:А что медленно, для того пишутся библиотеки на том же С.
:up:

Вот это полностью поддерживаю. Мой поинт был в том, что "числодробильные" задачи на чистом Python решать неэффективно. Он - более высокоуровневый, чтобы "бизнес"-логику быстро реализовать.

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

Re: Python vs .....

Сообщение borei » 24 фев 2018, 16:04

Leo Gan:Было странно читать все что выше.
Библиотеки для Python написаны на С и работают со скоростью С. Numpy, Numba... https://modelingguru.nasa.gov/docs/DOC-2625
Библиотеки для Machine Learning: TensorFlow, pytorch... вообще используют GPU
На Quora эта тема живо обсуждается https://www.quora.com/topic/Python-Vs-C++-1
Основной мотив такой: Python используют вовсю там, где приложение должно быстро менятся, адаптивроваться, развиваться. Мощность Python (в количестве_реализуемых_требований/строк_кода) у него дико больше, чем у С. Поэтому приложения делаются и выводятся в продакшен за дни, а не за месяцы-годы. А что медленно, для того пишутся библиотеки на том же С.
Google, Facebook вовсю его используют в продакшн.

Все это косвенно подтверждает низкий уровень вхождения в язык (читай он дико популярен и прост в изучении). Огромное количество библиотек - хмм, с одной стороны это да плюс, но с другой - а каково качество этих либ.
То что исрользует GPU - это скорре всего С, и к питону имеет очень отдаленное отношение.
Ну а принципе - язык как таковой тормознутый до нельзя - за type-less надо платить - и без костылей на C/C++ было бы совершенно кисло.

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

Re: Python vs .....

Сообщение borei » 24 фев 2018, 16:51

borei:
Leo Gan:Было странно читать все что выше.
Библиотеки для Python написаны на С и работают со скоростью С. Numpy, Numba... https://modelingguru.nasa.gov/docs/DOC-2625
Библиотеки для Machine Learning: TensorFlow, pytorch... вообще используют GPU
На Quora эта тема живо обсуждается https://www.quora.com/topic/Python-Vs-C++-1
Основной мотив такой: Python используют вовсю там, где приложение должно быстро менятся, адаптивроваться, развиваться. Мощность Python (в количестве_реализуемых_требований/строк_кода) у него дико больше, чем у С. Поэтому приложения делаются и выводятся в продакшен за дни, а не за месяцы-годы. А что медленно, для того пишутся библиотеки на том же С.
Google, Facebook вовсю его используют в продакшн.

Все это косвенно подтверждает низкий уровень вхождения в язык (читай он дико популярен и прост в изучении). Огромное количество библиотек - хмм, с одной стороны это да плюс, но с другой - а каково качество этих либ.
То что исрользует GPU - это скорре всего С, и к питону имеет очень отдаленное отношение.
Ну а принципе - язык как таковой тормознутый до нельзя - за type-less надо платить - и без костылей на C/C++ было бы совершенно кисло.

уппс, хватанул немного по типизации. пистон язык с диниамической типизацией.

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

Re: Python vs .....

Сообщение putanik » 24 фев 2018, 19:39

Leo Gan:Было странно читать все что выше.
Библиотеки для Python написаны на С и работают со скоростью С. Numpy, Numba... https://modelingguru.nasa.gov/docs/DOC-2625
Библиотеки для Machine Learning: TensorFlow, pytorch... вообще используют GPU
На Quora эта тема живо обсуждается https://www.quora.com/topic/Python-Vs-C++-1
Основной мотив такой: Python используют вовсю там, где приложение должно быстро менятся, адаптивроваться, развиваться. Мощность Python (в количестве_реализуемых_требований/строк_кода) у него дико больше, чем у С. Поэтому приложения делаются и выводятся в продакшен за дни, а не за месяцы-годы. А что медленно, для того пишутся библиотеки на том же С.
Google, Facebook вовсю его используют в продакшн.


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


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

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

Сейчас этот форум просматривают: Google [Bot] и 5 гостей