Найти - Пользователи
Полная версия: Cython оптимизация
Начало » Python для новичков » Cython оптимизация
1 2
o7412369815963
Андрей Светлов
Может и так - но, думается, стоит еще поискать.
да, что-то все туманно.

Дело в том что это всё и есть узкое место - это такой большой один цикл, которой за счёт методов инлайн подстановок выглядит практически линейно. Т.е я хочу сказать что замена сотни строк питон-кода, даже самого критического, и даже на мгновенное исполнение, не даст общего улучшения даже на 5%.
т.е. если 95% (это всё - большой один цикл) кода ускорить в 100 раз это не даст ускорения даже на 5%, не может быть.

в таком случае нужно всю прогу писать на С/С++, и не извращаться с Cython
Isem
o7412369815963
в таком случае нужно всю прогу писать на С/С++, и не извращаться с Cython
Вот разумная мысль.
alexx11
o7412369815963
не может быть.
Не не может быть а внимательней надо читать, я другое имел ввиду.

o7412369815963
в таком случае нужно всю прогу писать на С/С++, и не извращаться с Cython
А вот на это я не готов, по той хотя бы причине что это не окончательный код, уверен потребуется модификация и поддержка, чего на Си, знаю по собственному опыту, делать очень не легко даже в своём коде уже через пару месяцев перерыва работы с ним.

Андрей Светлов
Как-то в финансовом софте профайлер показывал, что 50% времени тратится на работу со строками.
Думаете, эти операции нужно было ускорять?
Нет, их просто требовалось выкинуть. Заменив на более адекватные структуры данных.
Одна мелочь - у меня не финансовый софт, а скрипт для работы со строками, и “выкинуть” эти строки из него не представляется возможным. =)
dvs
Вот ещё интересный ускоритель Питона:
Нумба http://numba.pydata.org/
Numba is an Open Source NumPy-aware optimizing compiler for Python
sponsored by Continuum Analytics, Inc. It uses the
remarkable LLVM compiler infrastructure to compile Python byte-code to
machine code especially for use in the NumPy run-time and SciPy
modules.

Not all Python syntax is supported, currently. And long-term,
the best that will be done with some Python constructs is to
eliminate the “interpreter”. Numba is going to work well first with
NumPy arrays that are large arrays of typed information.

If you are looking for a full Python compiler to handle all Python syntax,
look at PyPy, ShedSkin, Nutika, or other projects.

Numba is also not a tracing jit. It *compiles* your code before it gets
run using type information you provide in the decorator.

Dependencies:

* LLVM 3.1
* llvm-py (from llvmpy/llvmpy fork)
* numpy
* Meta (from numba/Meta fork)
doza_and
Как-то уж очень абстрактно. Может вы опишете чего со строками надо сделать, пусть не очень точно но что-то. Какой алгоритм применили?
Неплохо понять какое быстродействие вам нужно, т.е. Чем оно ограничено? Я часто встречаю коды которые работают сутками и никого это не беспокоит.
PooH
Вы бы хоть на дату сообщения посмотрели, что ли :rolleyes:
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB