Задача будет выполнена быстрее, если это будет активное окно?

Передающие значения в функции генератора . Например, наличие этой функции:

def mygen():
    """Yield 5 until something else is passed back via send()"""
    a = 5
    while True:
        f = (yield a) #yield a and possibly get f in return
        if f is not None: 
            a = f  #store the new value

Вы можете:

>>> g = mygen()
>>> g.next()
5
>>> g.next()
5
>>> g.send(7)  #we send this back to the generator
7
>>> g.next() #now it will yield 7 until we send something else
7

5
задан Madara Uchiha 5 April 2012 в 17:13
поделиться

4 ответа

В Windows приоритетное приложение получает повышение. Это помогает поддерживать реакцию на запросы пользователя и гарантирует, что, когда оно будет готово к запуску после ожидания некоторого события ввода-вывода, оно будет запущено следующим, опередив большинство других приложений, которые могут ожидать запуска.

Также существует потенциал для более длинного кванта для приложений переднего плана.

Я не знаю, насколько быстрее приложение будет завершено, если оно будет запущено на переднем плане, а не в фоновом - есть очень много факторов, которые будут влиять на это (особенно ввод / вывод). Цель состоит в том, чтобы сделать приложение более отзывчивым.

Все это в некоторой степени настраивается (возможно, только для серверных SKU):

7
ответ дан 18 December 2019 в 14:49
поделиться

Это зависит от ваших настроек. В операционной системе Windows , настольной по умолчанию, это верно. В операционной системе Windows сервера (например, Windows 2003) это неверно.

Вы можете изменить настройку, зайдя в Свойства системы и щелкнув вкладку Производительность. Точная компоновка различается в зависимости от версии Windows, но вы должны увидеть (или увидеть, щелкнув дополнительную вкладку или найти «Планировщик») либо радио / комбинированный выбор между конфигурацией «Рабочая станция» и «Сервер», либо выбор между приоритизацией программ или фоновых служб. В обоих случаях это одно и то же (просто другой язык - язык сервера / рабочей станции взят из Windows 2000,

4
ответ дан 18 December 2019 в 14:49
поделиться

Windows позволяет дать приоритетной задаче приоритетное преимущество, так что это не миф. Вы также можете установить другой способ, чтобы вместо этого дать «сервисным» задачам преимущество приоритета, так что это зависит от установки.

Обратите внимание, что это влияет только на приоритет ... если нет других запущенных задач, он выиграл в обоих случаях заметно не отличается. Только когда есть другое приложение, которому требуется процессорное время, вы можете заметить разницу.

1
ответ дан 18 December 2019 в 14:49
поделиться

Это частично верно для Windows. Windows назначит приложению с графическим интерфейсом, у которого окно наверху немного выше. Так что, если есть другие задачи с нормальным или более низким приоритетом, программа действительно могла бы работать немного быстрее за счет других программ, работающих немного медленнее.

Однако есть загвоздка. Когда вы запускаете компиляцию в Visual Studio IDE, IDE запускает отдельный процесс для компиляции и перенаправляет его вывод только в собственное окно. Поскольку теперь у процесса компиляции нет собственных окон, он не будет ускоряться.

1
ответ дан 18 December 2019 в 14:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: