1 / 1 / 0
Регистрация: 13.05.2015
Сообщений: 15
|
||||||
1 | ||||||
Ускорить часть кода в питоне20.03.2017, 07:56. Показов 1042. Ответов 5
Метки нет (Все метки)
Добрый день, уважаемые программеры! Помогите пожалуйста, всю голову уже сломал!
Python изучаю совсем недавно и всех тонкостей и прелестей языка не знаю, поэтому полагаюсь очень на вашу помощь, что поможете решить мою проблему! Программа состоит в том, что с базы берутся около 50 тыс. данных и обрабатывается. У меня присутствуют двойные циклы, плюс в этих циклах идет обращение к функциям, в которых тоже по циклу и уже понятно сколько итераций проводиться. Это очень долго и не рационально. Предложите варианты замены циклов, желательно прям мне показать, как будет, чтобы я понял, или переписать как-то код надо, чтобы было быстрее. Помогите ребят пожалуйста.
0
|
20.03.2017, 07:56 | |
Ответы с готовыми решениями:
5
Как ускорить эту часть кода с использованием OpenMp? Как свернуть часть кода программы на Питоне в Wing101 или в отдельный текстовый модуль? Можно ли закодить серверную часть на питоне? Как ускорить запрос с like '%часть слова%'? |
1 / 1 / 0
Регистрация: 13.05.2015
Сообщений: 15
|
|
20.03.2017, 13:31 [ТС] | 3 |
Не совсем понял, что значит выложить на сервер. Можно пожалуйста конкретнее?
0
|
20.03.2017, 13:52 | 4 |
На сервер - значит, чтобы вашу обработку делал движок СУБД. У него есть по крайней мере одно преимущество перед клиентом - вам не придётся гонять данные между сервером и клиентом, что само по себе долго. Те самые 50000 "данных" (на самом деле, вероятно, имеются в виду записи).
0
|
1 / 1 / 0
Регистрация: 13.05.2015
Сообщений: 15
|
|
20.03.2017, 16:10 [ТС] | 5 |
Мне бы, конечно, лучше было бы оптимизировать код, что ускорит время работы ее выполнения. Потому что именно это требуется, но я понимаю, где времени много тратиться, в циклах. Кстати, это тестовая задача, база без интернета, а просто sql документ, и в сети интернет никак не взаимодействует ни база, ни программа
0
|
20.03.2017, 16:39 | 6 |
Pasha747, сервер может быть и без интернета. Просто логически это функция сервера, но запустить её можно и на локальном компьютере. Вы сказали - sql. Вот кто обрабатывает sql - тот и сервер.
По поводу ускорения именно этого кода. Тут надо разбираться. Непонятно, что за переменная С. На 4-й строке - list(S1) - зачем, если это и так список? Непонятно, что внутри конструктора Transaction, процедура TransactionAdd и т. д. Если нет никаких явных косяков с логикой - источником тормозов, в числе прочего, является обильное создание объектов. Если нужна скорость - об объектов отказываемся. Об этом, к частности, писал Джоэл Спольски, "Джоэл о программировании", где-то в начале глава. Строки 14, 32, 40. Вызов (С).index. Зачем скобки, кстати? Если С - список или что-то подобное, будет долго. Ищет, перебирая все элементы. Вероятно, тут главный тормоз и есть.
0
|
20.03.2017, 16:39 | |
20.03.2017, 16:39 | |
Помогаю со студенческими работами здесь
6
Подскажите как переписать часть часть кода с C# на Delphi Написание кода на питоне! Ускорить выполнение кода Ускорить выполнение кода Ускорить выполнение кода Ускорить работу кода Ускорить выполнение кода Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |