All streams
Search
Write a publication
Pull to refresh

Comments 14

тот случай когда "простота" языка оборачивается очень нетривиальными практиками чтобы получить нормально работающую программу.

но ведь здесь речь про оптимизацию(ныне бесполезную). Что с этими практиками, что без - программа будет работать

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

Так это не подводный камень, имхо, а хитрый трюк для ускорения. Такое есть во всех языках.

"трюк" для лечения родовой травмы

Так он интерпретируемый язык с динамической типизацией. Он очень гибкий и медленный. Как ему и положено. Для скорости есть другие языки.

Python не для таких вычислений был создан. Если приходится думать о таких оптимизациях, то явно стоит подумать и о переписывании всего кода/этой конкретной части на что-то побыстрее.

Можно ещё на мульти процессинг посмотреть, если вычисления паралелятся и возвращаемое значение не большое.

Необязательно, если это чистый питон то можно просто в pypy исполнять

это все равно медленнее будет

pypy или перевести в эфиктивные структуры данных (numpy, polars) это тоже варианты. Внешние буиблиотеки не ограниченны GIL и могут использовать паралелизацию.

> Before we dive into the details, it is important to emphasize that Polars has been built from the start to use all your CPU cores. It does this by executing computations which can be done in parallel in separate threads.

Разные методы можно использовать вместе, а результат сильно зависит от типа задачи.

Может, если код на питоне приходится так оптимизировать – он изначально не должен был быть написан на питоне?

Я так понимаю, питон при нормальном использовании – это "клей", собирающий низкоуровневые куски воедино. Характерный пример – упомянутый в комментах numpy. Клея не должно быть много.

Sign up to leave a comment.

Articles