Исходные данные:
файл .csv с данными
файл .env с настройками
Файл, который запускает скрипт
Скрипт последовательно, построчно берет данные из файла .csv. В скрипте есть две основные функции, аналогичные. Через эти две функции (не одновременно) проходят все итерации.
Сначала в одной из них последовательно происходит проверка условий: сравнение рассчитанных один раз ранее значений с данными из файла .csv, вычислительных операций не производится в этих функциях. Как только сработало условие в какой-то функции - происходит смена функции и процесс продолжается уже через другую функцию далее пока есть данные в файле .csv Между сменами основных функций выполняются ряд других мелких функций, но подавляющее большинство времени уходит на проверку условий в этих двух основных.
Порядок количества итераций - млн. На данный момент скорость несколько сотен итераций в секунду.
Логика включает в себя постоянные последовательные операции сравнения и ветвления, векторизация не проходит.
Гит.
Необходимо:
Каким-то способом увеличить производительность хотя бы на порядок, желательно на два. (CPython, PyPy, Cython, Numba, оптимизация, написание части алгоритма на С, что-то еще.., любой вариант.)
-
Добрый день.
Вышлите, пожалуйста, для проверки проект и данные для проверки. Если код на Питоне нельзя будет ускорить, то могу сделать вставку на C. Срок и стоимость пока примерные.
-
247 2 0 Добрый день!
Напишите мне, ускорим вам работу скрипта. Имел опыт с numba, cython и много с распаралелливанием data пайплайнов
Если не устроит максимальная скорость и работа - назад отправляю деньги, больше фактор интереса у меня тут :)
-
682 6 0 самые "дорогие" - это операции работы с БД и чтения из файла. поэтому нужно проводить оптимизацию в первую очередь в этом направлении - чтения из файла.
второе направление - вероятно можно использовать что-то на С написаное но хорошо оптимизированное для питона, к примеру pandas.
но как и писали многие - по описанию ничего не понятно и нужно смотреть логику существующего скрипта.
в идеале конечно перейти на асинхронную обработку блоками по 1000 строк, но надо понимать как идет анализ в первую очередь
-
250 1 0 Я имею хороший опыт разработки на Python, успешно реализовал несколько проектов, связанных с подобными направлениями.
-
1970 45 3 1 Напишу на Python нужные функции.
Cделаю все качественно и всегда нахожусь на связи. Буду рад сотрудничеству с вами!
-
5878 345 0 Рассмотрю вопрос увеличения быстродействия обработки файлов после изучения имеющихся наработок + детального обсуждения алгоритма.
Срок и цена пока от фонаря.
-
Треба бачити код, може він не оптимальний сам по собі.
Якщо що можна спробувати переписати код на С/C++ (або частково)
-
Актуальные фриланс-проекты в категории C и C++
Реверс-инжиниринг консольных утилит для опроса контроллеров SSD (Flash ID)1. Цель работы Выделение программного интерфейса (API) взаимодействия с контроллерами SSD/NVMe из предоставленного набора консольных утилит (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron и др.). Результатом должно стать рабочий код на языке C/C++ или точная… C и C++, Десктопные приложения ∙ 8 дней 12 часов назад ∙ 6 ставок |
Разработка карты семян Minecraft Java / просмотрщика семян для сайтаРазработка карты семян Minecraft Java / Seed Viewer для сайтаОписание проекта Необходимо разработать браузерный инструмент Minecraft Java Seed Map / Seed Viewer, который будет работать на нашем сайте и позволит пользователю ввести семя Minecraft Java Edition и просмотреть… C и C++, HTML и CSS верстка ∙ 8 дней 19 часов назад ∙ 16 ставок |
Сравнительный анализ эффективности кастомного ПО (v2.2-field) и эталонного ПО (Meshtastic v2.x)
1000 UAH
Сравнительный анализ эффективности кастомного ПО (v2.2-field) и эталонного ПО (Meshtastic v2.x) на идентичной аппаратной платформе (ESP32 + SX1268, 2W) по критериям дальности, пропускной способности, стабильности линка и энергопотребления. Провести тесты с замерами с учетом… C и C++, C# ∙ 13 дней 2 часа назад ∙ 3 ставки |