Ускорение кода Python на 2 секунды (исходные 2,003 с)
Дата публикации: 29.05.2025

Ускорение кода Python на 2 секунды (исходные 2,003 с)


Содержимое статьи:

Проблема

Исходный код решает задачу, связанную с интервалами, и выполняется медленно.

Решение

  1. Инициализация массива: Изначально массив x инициализируется нулями. Использование memset ускоряет эту операцию.
  2. Подсчет неперекрывающихся интервалов: Перебор массива t и увеличение соответствующих элементов в x можно ускорить с помощью numpy.
  3. Подсчет элементов, равных нулю: Подсчет нулей в массиве x можно ускорить с помощью numpy.

    Оптимизированный код

    import numpy as np
    import time
    k, n = 100000, 300
    t = []
    for _ in range(k):
    x1, x2 = np.random.randint(0, 479, size=2)
    t.append((np.min(x1, x2), np.max(x1, x2)))
    start_time = time.time()
    x = np.zeros([480], dtype=np.int32)
    for i in t:
    x[i[0] : i[1] + 1] += 1
    print(n - np.count_nonzero(x))


БЕСПЛАТНЫЙ КУРС: «КАК НАСТРОИТЬ АВТОПИЛОТ БЭКАПА»
Чат-сюрприз
Чем отличается хостинг от виртуального сервера
Как ареновать автокран 25 тонн в Москве: базовые требования и стандарты
Как подобрать автокран 25 тонн по вашему проекту
Лайфхаки для эффективной аренды автокрана 25 тонн
Лучшие модели автокранов 25 тонн на рынке
Онлайн QR декодер сервис
Ошибки, которые нужно избегать при аренде автокрана
Партнёрская программа без блога: как получать трафик из Telegram-кликеров
Популярные игры Cartoon Network для взрослых
Процесс аренды автокрана 25 тонн: пошаговая инструкция
Профессиональные советы по аренде автокрана 25 тонн
Производитель фитингов и труб для водоснабжения
Регистрация ИП в Москве с получением номера ИНН
Россия видеорулетка онлайн
Шаги по настройке автокрана 25 тонн для работы
Специалист по отслеживанию доменных изменений
Субтитры — нет, уши — да: 5 минут в день к английскому
Видеорегистраторы для автомобилей
Витрина кукол Лол
WordPress блог с блогерами
Наши ссылкиВыгодно ли сдавать автокран 25 тонн в аренду предприятиям ?