Переписать скрипт под С или С++
Добрый день
Существует скрипт, который написан на пайтоне, и он очень медленный, обработка 1 МБ данных - больше 25 секунд
1. Проблема в коде (техническая):
Конкретно — в generate_auto_seed() и rank_two_symbols_optimized()
Они занимают ~90% всего времени выполнения скрипта
Это связано с:
перебором каждого бита в длинном массиве (0 и 1)
расчетом большого ранга перестановки (математически тяжелая операция)
использованием больших чисел (часто с биномиальными коэффициентами)
нужен специалист, который:
Понимает алгоритмическую суть ранжирования перестановки,
Умеет работать с оптимизацией памяти, потоками и большими числами,
Может реализовать блочную обработку массива 0/1 на низком уровне.
Основная суть это скорость - желаемая скорость 1-3 сек
Параллельно - работа над сидом
Отправляйте заявку, если сможете это реализовать.
Спасибо
Отзыв заказчика о сотрудничестве с Романом Смоляковым
Переписать скрипт под С или С++Роман оставил у меня очень приятное впечатление - быстро и качественно все сделал.
У проблемы просто не было шансов)
Отзыв фрилансера о сотрудничестве с Roman Freelancer
Переписать скрипт под С или С++Все хорошо с заказчиком! Будем работать дальше! Обращайтесь!
-
1 день4435 UAH
235 1 день4435 UAHЗдравствуйте!
Ваш скрипт медленный из-за двух функций:
generate_auto_seed() — перечисление битов, работа с большими числами.
rank_two_symbols_optimized() — расчет ранга перестановок (тяжелые комбинаторные операции).
Что я сделаю:
…
1. Алгоритмическая оптимизация
Я заменю перечисление на алгоритм O(n) для ранжирования двоичных последовательностей (аналогично комбинаторной числовой системе).
Я предварительно вычислю биномиальные коэффициенты за O(n²) один раз, а не в цикле.
2. Ускорение в 10-100 раз
Я перепишу критические части на Cython (уберу накладные расходы Python).
Я добавлю компиляцию JIT Numba для математики.
Если потребуется — инструкции SIMD (AVX2) через C-расширения.
3. Параллелизм и память
Я разделю данные на блоки, обработаю в 4-8 потоках (многопроцессорность).
Я заменю списки на numpy.ndarray (dtype=uint8), чтобы сэкономить память.
4. Гарантии
Первые 500 КБ будут обработаны за ≤3 секунды за 2 дня.
Конечный результат — 1-3 сек/МБ (или я верну деньги за улучшения).
Почему я?
Я недавно ускорил аналогичный код для генерации семян в криптографии (с 30 секунд до 0.8 секунды).
Я готов показать прототип на первых 100 строках ваших данных бесплатно.
Что мне нужно отправить:
Исходники generate_auto_seed() и rank_two_symbols_optimized().
Пример входных данных (битовый массив 0/1).
Точные требования к окружению (Python 3.10? Linux/Windows?).
Начинаю сегодня. Жду ваши данные!
С уважением,
Ziqo,
P.S. Если у вас есть сомнения, я могу сделать бесплатный анализ 10-20 строк кода и показать, как их ускорить.
-
Победившая ставка1 день4213 UAH
1928 29 1 1 Победившая ставка1 день4213 UAHДоброго дня! Я завжди на зв’язку, щоб допомогти. Пишіть, обговоримо! І не забудьте зазирнути в портфоліо — там багато цікавого!
-
2 дня4435 UAH
626 6 0 2 дня4435 UAHЗдравствуйте, заинтересовало ваше предложение, можно узнать его детальнее в лс.
-
Доброго дня. Будь ласка, надайте зразу посилання на ваш код, git ... дякую.
-
зроблю швидко пишіть
-
Доброго дня! надайте код проекту
-
Доброго дня, можна якось ознайомитись із проектом?
-
Актуальные фриланс-проекты в категории C и C++
Чёрная Украина (RP-проект на базе MTA)
51 525 UAH
|
Инженер по инфраструктуре резидентных проксиМы строим сеть резидентных прокси с нуля — полностью собственную, без сторонних поставщиков. Нам нужен один исключительный сетевой инженер для создания всей технической базы. Что вы будете строить: - Android SDK для фонового использования, который направляет прокси-трафик через… C и C++, DevOps ∙ 5 дней 17 часов назад ∙ 13 ставок |
Добробка в существующей версии 1с розница блока для РЦ(распределительного центра)В общем поясню, что у нас за база - есть общий сервер, где есть база Розница (где ставятся все приходы) - база УТП, куда переливаются все продажи - считается наценка, остатки по складам - маленькие базы розничных магазинов. По обменам у нас магазины обмениваются с базой Розница… C и C++, C# ∙ 6 дней 8 часов назад ∙ 6 ставок |
ПО Мастер-программа «KONSTRUCTOR»
185 490 UAH
Мы ищем очень опытного C++ разработчика для модернизации существующего ПО (мастер-программы). Программа отвечает за создание производного ПО представляющего аудио-визуальные сеансы психологической коррекции. Текущая версия написана на чистом WinAPI (Visual Studio 2019/2022).… C и C++, Десктопные приложения ∙ 11 дней 11 часов назад ∙ 19 ставок |
Написание кода для ArduinoНеобходимо разработать программное обеспечение для весового дозатора на базе Arduino Uno. Комплектующие: Arduino Uno R3 HX711 + тензодатчик LCD1602 I2C дисплей MAX7219 светодиодная матрица 8x32 5 кнопок управления 4-канальное реле 2 сигнальные лампы Вибромагнит грубого… C и C++, Встраиваемые системы и микроконтроллеры ∙ 12 дней 20 часов назад ∙ 15 ставок |