скорость резко меняется при запуске одного и того же кода на Intel i7

234
Jayeon Yi

У меня есть процессор Intel i7-5500U (2,40 ГГц), и в настоящее время я использую несколько почти одинаковых кодов (закодированных с) последовательно. Я посмотрел на диспетчер задач (и мою программу) и заметил, что происходит что-то странное.

Я, вероятно, должен сначала упомянуть, что более интенсивное использование процессора во всех случаях приводит к более быстрому вычислению здесь.  Около 30% использования процессора приводит к примерно в 4 раза более быстрому вычислению, чем около 9% использования. Кроме того, когда он начинает работать около 9%, он остается около этого значения до конца. То же самое с 30%.

Например, вчера код работал примерно на 30% загрузки процессора, но сегодня я получил только около 9% загрузки. 9% было обычным, я почти 30% получил 0 раз.

Это означает, что на моем ноутбуке код, который может работать в 4 раза быстрее, чем обычно, в большинстве случаев работает не так быстро, кстати, на ноутбуке другого человека он всегда работает в 4 раза быстрее.

Я нахожу 4-кратную разницу в скорости в одной и той же системе очень странной, особенно когда в обоих случаях ничего, кроме программы и редактора, работало в фоновом режиме.

Итак, что я хочу сделать, так это быстро выполнять вычисления при каждом запуске кода.  Это возможно?

Повышение приоритета через диспетчер задач не сработало. Даже настройка «Реальное время» ничего не изменила.

Программа однопоточна и не требует интенсивного ввода-вывода.

Если потребуется какая-либо дополнительная информация, пожалуйста, сообщите мне, и я напишу ее здесь. Конечно, кроме таких вещей, как «опубликовать весь код».

Спасибо за ваше время заранее.

ОБНОВЛЕНИЕ: я только что посмотрел на менеджера задач этим утром, и произошло нечто более странное. Сразу после того, как я переместил мышь и снова показал экран (вы знаете, как такие вещи, как экранная заставка и черный экран, появляются примерно через 15 минут?), Загрузка процессора быстро снизилась с 30% до 9% (диспетчер задач). был на все время, а также), и когда я посмотрел на прогресс, он работал в несколько раз быстрее, чем следовало бы. На завершение процесса должно было уйти около 17 часов, но прошло только 10 часов, и программа выполнила более 5/6 работы.

ОБНОВЛЕНИЕ 2: Да, я признаю, что использование ЦП не является хорошим способом измерения производительности. Однако в этом случае во всех случаях, когда загрузка ЦП составляла 30%, код завершал работу в несколько раз быстрее, чем когда загрузка ЦП показала 9%. Я использую термины «около 30%» и «около 9%», просто чтобы сказать, что скорость разная, и это можно увидеть в диспетчере задач. Если вы сомневаетесь, что он работал быстрее, когда он показал 30%, я должен был бы сказать вам, что код всегда работал около 4000 секунд, когда он показывал 30%, и всегда работал около 16000, когда он показывал 9%. Да. каждый раз.

ОБНОВЛЕНИЕ 3: я выполнял этот код (с некоторым очень простым редактированием, таким как изменение некоторых переменных) в течение месяца, и я, или конечно, перезагружал свой ноутбук много раз в течение месяца.

ОБНОВЛЕНИЕ 4: код работает с той же скоростью каждый раз (и в 4 раза быстрее, чем моя «обычная» (9%) скорость) на моем коллеге Intel i5, 4-го поколения M.

0
Если вам нужны более быстрые вычисления, делающие их многопоточными, ваш вопрос не совсем понятен. Вы упоминаете 4x, но не можете сказать нам, что вы сравниваете это тоже Ramhound 7 лет назад 0
Код выполняется 1x (обычная скорость), но иногда запускается 4x, поэтому я хочу сделать так, чтобы он всегда работал в 4 раза быстрее, чем я испытываю сейчас, когда запускаю код. Я знаю, что это странная ситуация, но это происходит ... Кстати, я исправил то, что вы указали! Теперь понятнее? Jayeon Yi 7 лет назад 0
Что делает программа? На какой ОС вы его запускаете? Dave 7 лет назад 0
200 игр настольной игры Pylos с использованием поиска по дереву Монте-Карло. Хм .... Как мне это объяснить .... Я запускаю программу на Win 8.1. Jayeon Yi 7 лет назад 0
Ваш вопрос не ясен. Один и тот же код будет использовать те же ресурсы. Что-то еще происходит Ramhound 7 лет назад 0
Это «что-то еще» должно быть так. Я повторяю, что один и тот же код иногда требует больше ресурсов по какой-то причине. Я знаю, что это не имеет смысла, но это происходит. Но тогда, что это может быть за «что-то еще»? Какое-то вредоносное ПО? Antivirus? Jayeon Yi 7 лет назад 0
«Загрузка ЦП в%» - не очень хороший способ измерить производительность программы. Производительность может варьироваться в зависимости от использования кэша, планирования причуд и других процессов, использующих ЦП. dirkt 7 лет назад 1
@JayeonYi без кода я не могу сказать. Ramhound 7 лет назад 0
Ваш процессор (i7-5500U) - это сверхмощный процессор для ноутбука. Эти процессоры -u в основном используются в ультрабуках, основной дизайн которых - мобильность и время автономной работы, а не вычисления. Что приводит к следующим вопросам: 1) Можете ли вы контролировать температуру процессора (например, чтобы увидеть, происходит ли какое-либо тепловое дросселирование. 2) Всегда ли ноутбук подключен к сети? (Некоторые замедляются при работе от батареи и не все восстанавливаются при повторном включении питания). 3) Какова настройка производительности при запуске панели управления питанием? Hennes 7 лет назад 0
4) Программа связана только с процессором? (например, это может быть ожидание данных с диска, означающее, что ЦП имеет меньше возможностей, хотя я ожидал бы, что в этом случае% ЦП будет изменяться, а не оставаться на уровне 9%. 5) Как происходит использование памяти (использование файла подкачки) ?). То же самое ведет себя после чистой перезагрузки? Hennes 7 лет назад 0
Наконец, вы упомянули высокоприоритетные настройки или настройки в реальном времени. Нет никаких причин, по которым это могло бы заставить программу работать быстрее в вашем случае. Если у ЦПУ больше работы, чем он может обработать, то планировщик может уделить больше времени вашей задаче, если он имеет более высокий приоритет. Поскольку вы в настоящее время не связаны с процессором, и никакие другие процессы не конкурируют друг с другом, это не поможет. Hennes 7 лет назад 0
Спасибо за ответ, Ханнес. Чтобы предоставить дополнительную информацию, да, мой ноутбук всегда подключен. Настройка производительности всегда была установлена ​​на «высокая производительность». Я так и продолжаю. Для запуска программы вообще не требуется никаких входных данных, поэтому я не думаю, что дело № 4. Хотя он не остается на уровне 9%, это правда, что он остается в значительной степени вокруг него, около 8 ~ 11%. Насчет загрузки нет, дело не в этом. Думая, что это была проблема процессора с самого начала, ситуация кажется более естественной. Более подробная информация была добавлена ​​к вопросу выше. Jayeon Yi 7 лет назад 0
Я только что установил CPUID для контроля температуры моего процессора. Что касается температуры процессора, с включенным только google chrome и текстовым редактором, он показывает около 50 градусов Цельсия, как ядра, так и пакет. Сразу после запуска программы температура быстро поднялась до 65 ~ 77 градусов для ядер и корпуса. Я думаю, это может быть проблемой. Хотя меня немного удивляет, что температура обоих ядер выросла, хотя программа не является многопоточной вообще ... Ой, подождите, она показывает 30% использования сейчас. Uuugh .... Jayeon Yi 7 лет назад 0
Я рекомендую ProcessExplorer для дальнейшего анализа использования процессора. Также было бы полезно, если бы у вас был другой ноутбук с идентичным оборудованием, чтобы вы могли увидеть, является ли это причиной. Далее: проверьте все детали профиля активной энергии, отключите все параметры энергосбережения. Сравните ваши настройки с настройками компьютера вашего коллеги. Поведение происходит и в других программах, интенсивно использующих процессор, таких как сжатие файлов или операций Operationsgebiet? Tobias Knauss 7 лет назад 0

0 ответов на вопрос

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