Python vs .....

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

Re: Python vs .....

Сообщение borei »

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

а вообше-то, по хорошему, математику обычно прописывают на ассемблере.
одноразовую обработку результатов на ассемлере, и даже на С++ никто прописывать не будет
Ну об одноразовой обработке никто не говорит.
Цифирей сколько получили флопов я чегото не нашел, отсюда сложно сказать как хорошо или плохо реализованы алгоритмы.
Если действительно нужен результат - то это да ассемблер и в числодробильне нужен SIMD.
Я сейчас с этим и вожусь.
putanik
Житель
Сообщения: 516
Зарегистрирован: 12 мар 2012, 05:29

Re: Python vs .....

Сообщение putanik »

AndreyA писал(а):Вот этот человек не понимает - https://www.linkedin.com/in/jfpuget/ ?
Вы уверены что вы лучше этого человека понимаете? Я вот как то не очень в этом уверен.
да, я б такую чушь не написал.
AndreyA
Маньяк
Сообщения: 1165
Зарегистрирован: 25 сен 2006, 10:30
Откуда: Burnaby

Re: Python vs .....

Сообщение AndreyA »

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

Re: Python vs .....

Сообщение 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), и занимался я непосредственно разработкой алгоритмов, а не руководством толпой. Но не в этом суть.
AndreyA
Маньяк
Сообщения: 1165
Зарегистрирован: 25 сен 2006, 10:30
Откуда: Burnaby

Re: Python vs .....

Сообщение AndreyA »

Здорово, теперь статьи?
Ну и что там с Python? Все на асме пишем?
putanik
Житель
Сообщения: 516
Зарегистрирован: 12 мар 2012, 05:29

Re: Python vs .....

Сообщение putanik »

AndreyA писал(а):Здорово, теперь статьи?
Ну и что там с Python? Все на асме пишем?
слишком много факторов вовлечено в сравнение питона и С. на такой general question я не возьмусь отвечать. но если есть специфичные ворпосы, тогда - с удовольствием.
borei
Маньяк
Сообщения: 4861
Зарегистрирован: 18 авг 2008, 14:51

Re: Python vs .....

Сообщение borei »

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
Маньяк
Сообщения: 1764
Зарегистрирован: 29 апр 2005, 16:55
Откуда: где-то рядом с жёлтым карликом
Контактная информация:

Re: Python vs .....

Сообщение 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 вовсю его используют в продакшн.
Аватара пользователя
alpax
Графоман
Сообщения: 10033
Зарегистрирован: 04 мар 2003, 17:39
Откуда: Richmond, BC

Re: Python vs .....

Сообщение alpax »

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

Вот это полностью поддерживаю. Мой поинт был в том, что "числодробильные" задачи на чистом Python решать неэффективно. Он - более высокоуровневый, чтобы "бизнес"-логику быстро реализовать.
borei
Маньяк
Сообщения: 4861
Зарегистрирован: 18 авг 2008, 14:51

Re: Python vs .....

Сообщение 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++ было бы совершенно кисло.
borei
Маньяк
Сообщения: 4861
Зарегистрирован: 18 авг 2008, 14:51

Re: Python vs .....

Сообщение borei »

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
Житель
Сообщения: 516
Зарегистрирован: 12 мар 2012, 05:29

Re: Python vs .....

Сообщение putanik »

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 вовсю его используют в продакшн.
если задачу можно выразить в вызовах библиотек, тогда все прекрасно. но шаг в сторону, и все плохо. у меня чуть нестандарное суб-бандные преобразование на асм летает, а на матлабе - медленнее в сотни раз. врядли питон сильно лучше матлаба в численных задачах. к тому же в математике время разработки определяется скоростью функционального тестирования, а сколько там строк - абсолютно неважно.
Аватара пользователя
Leo Gan
Маньяк
Сообщения: 1764
Зарегистрирован: 29 апр 2005, 16:55
Откуда: где-то рядом с жёлтым карликом
Контактная информация:

Re: Python vs .....

Сообщение Leo Gan »

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++ было бы совершенно кисло.
"тормознутый"?
в чем именно? Я в своих задачах отобенной медленности не замечаю.
Вообще, последние пару лет, когда начал работать со змеюкой, стал опять получать удовольствие от кода. И чем дальше, тем больше.
Теперь на свой С# код смотрю с содроганием. Вижу сплошной boilerplate. А что говорить о Java, C++?
Прототипы делаю на Jupyter Notebook, в продакшн перерабатываю на PyCharm. Конечно, много чего не хватает от Visual Studio, от Resharper (в PyCharm от последнего мало чего работает). Но все равно, конечная производительность в разы больше, чем на C#. Хотя к последнему по-прежнему питаю только теплые чувства :)
Аватара пользователя
Marmot
Графоман
Сообщения: 38286
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Canyon Heights
Контактная информация:

Re: Python vs .....

Сообщение Marmot »

А чо, от GIL-a Python уже избавился?
Kiseta
Графоман
Сообщения: 8081
Зарегистрирован: 22 фев 2005, 17:33

Re: Python vs .....

Сообщение Kiseta »

Вопрос, сори если чайниковый, второй день на Python автоматизацию пробую, не обессудьте

Есть вот такой код:
Искала метод to save a dynamic list of elements, нагуглила вот такой красивый однострочник,
теперь бы еще хорошо понять что это такое, у этого есть какое-то название? Это то что называется tuple? :oops: O:)

Код: Выделить всё

sub_menu_items = [element.text for element in driver.find_elements_by_css_selector("[id^=doc-]")]
спасибо!
Ответить