Сколько ядер использует excel

  • Remove From My Forums
  • Вопрос

  • Здравствуйте, уважаемые участники форума,

    Я выбираю компьютер для сложных расчетов в программе Excel (Windows 10, Office 2019): макрос за один раз обрабатывает 80 файлов, в каждом файле 25000 строк, 20 столбцов, всего 500000 ячеек, 400000 (четыреста тысяч)
    формул, включая формулы массива в одном столбце.

    В настоящее время у меня ноутбук с процессором i5-8265U, 4 ядра, 8 потоков. На этом компьютере во время обработки макросом 80-ти файлов Excel загружает CPU всего лишь на 25-30 % согласно диспетчеру
    задач и вычисление занимает 4 часа.

    Я хотел бы ускорить процесс вычислений и приобрести более производительный компьютер для этих целей.

    Что самое важное в компьютере, а на что меньше обращать внимание, если компьютер будет использоваться только для работы Excel:

    — Процессор?

    — Количество ядер?

    — Многопоточность?

    — Поддерживает ли Excel многопоточность в вычислениях?

    — Нужна ли многоядерность процессора для работы в Excel?

    Может, вы посоветуете конкретный процессор для описанной задачи.

    Благодарю за ответы.

    С уважением.

Ответы

  • Здравствуйте, уважаемые участники форума,

    Я выбираю компьютер для сложных расчетов в программе Excel (Windows 10, Office 2019): макрос за один раз обрабатывает 80 файлов, в каждом файле 25000 строк, 20 столбцов, всего 500000 ячеек, 400000 (четыреста тысяч)
    формул, включая формулы массива в одном столбце.

    В настоящее время у меня ноутбук с процессором i5-8265U, 4 ядра, 8 потоков. На этом компьютере во время обработки макросом 80-ти файлов Excel загружает CPU всего лишь на 25-30 % согласно диспетчеру
    задач и вычисление занимает 4 часа.

    Я хотел бы ускорить процесс вычислений и приобрести более производительный компьютер для этих целей.

    Что самое важное в компьютере, а на что меньше обращать внимание, если компьютер будет использоваться только для работы Excel:

    — Процессор?

    — Количество ядер?

    — Многопоточность?

    — Поддерживает ли Excel многопоточность в вычислениях?

    — Нужна ли многоядерность процессора для работы в Excel?

    Может, вы посоветуете конкретный процессор для описанной задачи.

    Благодарю за ответы.

    С уважением.

    Многопоточность поддерживается при вычислениях самих таблиц. Проверьте включена ли она как показано на картинке ниже.

    Однако скрипт является однопоточным. Если у вас все делает скрипт, то количество ядер особого значения не имеет — что у вас и наблюдается. У вас две решения этой проблемы:

    — Переделать скрипт чтоб он использовал многопоточность. Поиск «vba excel multithreading» поможет найти варианты.

    — Использовать процессор с максимальной однопоточной производительностью. На сегодня это i9-10900k. Но он быстрее вашего текущего процессора всего в полтора раза на одном потоке.

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

    Может быть, вы знаете определенный ресурс, который может помочь настроить VBA на многопоточность?

    Нет, не знаю. Но по указанному мной запросу поисковики выводят судя по всему полезную информацию. Первая же ссылка на stack overflow выглядит многообещающей…

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

    _Самый быстрый_ процессор всего на 50% быстрее вашего. Как вы думайте какой эффект будет от процессора за $100? Помните что ваш текущий процессор имеет турбо буст на 3.9 GHz на которой он и будет работать в однопоточном режиме.
    Разница с указанными вами процессорами будет в пределах 5-10% — если вообще будет.

    Если скрипт будет переписан, то надо брать процессор с большим числом ядер. Если бюджет ограничен, то наверное стоит смотреть в сторону AMD. Например AMD Ryzen 5 3600 обеспечивает самую высокую многпоточную производительность
    в растете на доллар цены. 


    This posting is provided «AS IS» with no warranties, and confers no rights.

    • Предложено в качестве ответа

      21 июля 2020 г. 15:31

    • Помечено в качестве ответа
      Иван ПродановMicrosoft contingent staff, Moderator
      22 июля 2020 г. 8:18

  • Здравствуйте, уважаемые участники форума,

    Я выбираю компьютер для сложных расчетов в программе Excel (Windows 10, Office 2019): макрос за один раз обрабатывает 80 файлов, в каждом файле 25000 строк, 20 столбцов, всего 500000 ячеек, 400000 (четыреста тысяч)
    формул, включая формулы массива в одном столбце.

    В настоящее время у меня ноутбук с процессором i5-8265U, 4 ядра, 8 потоков. На этом компьютере во время обработки макросом 80-ти файлов Excel загружает CPU всего лишь на 25-30 % согласно диспетчеру
    задач и вычисление занимает 4 часа.

    Я хотел бы ускорить процесс вычислений и приобрести более производительный компьютер для этих целей.

    Что самое важное в компьютере, а на что меньше обращать внимание, если компьютер будет использоваться только для работы Excel:

    — Процессор?

    — Количество ядер?

    — Многопоточность?

    — Поддерживает ли Excel многопоточность в вычислениях?

    — Нужна ли многоядерность процессора для работы в Excel?

    Может, вы посоветуете конкретный процессор для описанной задачи.

    Благодарю за ответы.

    С уважением.

    Многопоточность поддерживается при вычислениях самих таблиц. Проверьте включена ли она как показано на картинке ниже.

    Однако скрипт является однопоточным. Если у вас все делает скрипт, то количество ядер особого значения не имеет — что у вас и наблюдается. У вас две решения этой проблемы:

    — Переделать скрипт чтоб он использовал многопоточность. Поиск «vba excel multithreading» поможет найти варианты.

    — Использовать процессор с максимальной однопоточной производительностью. На сегодня это i9-10900k. Но он быстрее вашего текущего процессора всего в полтора раза на одном потоке.

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


    This posting is provided «AS IS» with no warranties, and confers no rights.

Здравствуйте, нужна помощь в понимании вопроса, а именно:

Какие хардварные особенности ПК:

— архитектура CPU, кол-во ядер, частота на ядро и т.д;
— параметры RAM, латентность, частота, ранговость и т.д;
— остальные особенности (SSD, чипсет и т.п.),

в наибольшей степени влияют на производительность приложений Excel (основные оптимизированные формульные вычисления, Power Query, Power Pivot и т.п.).
Если взять за основу мысль, что все формулы оптимальны, а нагрузка зависит только от большого объёма данных.

Есть ли информация, на что именно нужно обращать внимание, где то бутылочное горлышко для подсистем Excel, которое стоит расширить, чтобы не тратить сотни тысяч нефти на сборку мегамонстра с избыточными ресурсами, которые будут простаивать + энергопотребление.
Понятно, что для более нагруженных баз данных и вычислений мы можем обратиться, например, к языкам R или Python, в рамках data science, но пока хочется разобраться в вопросе вычислительного потенциала Excel и что на это влияет в хардварном плане, без CUDA.

Буду очень благодарен за развёрнутый ответ или направление, в котором стоит копать, на какие синтетические тесты процессоров смотреть (и только ли в процессоре дело?)

Использую Excel в рамках Office 2019 Pro.

На данный момент ноутбук на базе i7 4700HQ (4 ядра, 8 потоков в бусте до 3,4), оперативки 8 Гб DDR3, вся система и проги, файлы баз данных на этом же диске (SSD).
До этого был десктоп на базе Ryzen 1700 (8/16), 16 Гб оперативы, SSD…работал чуть шустрее.

В этой статье мы рассмотрим вопрос оптимального использования Excel’ем ресурсов компьютера. Ведь даже если файл оптимизирован, бывает, что все равно виснет Excel. Почему? Можно сказать, что этот материал продолжение нашумевшей статьи «Почему тормозит Excel?«, в которой мы описывали все возможные проблемы именно внутри файлов Excel. Сейчас поговорим об оптимизации работы вашего ПК при работе с таблицами.

Почему виснет Excel

В большинстве случаев виной тормозов и зависаний Excel служит не оптимальное оформление, структура, данные файла, но бывает что и ресурс компьютера не задействован в полной мере. Например, процессор используется на 25%. Ниже мы предлагаем несколько вариантов, которые точно не помешает проверить если у вас виснет Excel.

Содержание

  • Excel использует 25% ресурсов процессора. Как исправить?
  • Как задействовать все процессоры. Настройка Windows
  • Не помогло, все равно виснет Excel… Еще причины
  • Похожие статьи

Excel использует 25% ресурсов процессора. Как исправить?

Современные компьютеры очень производительны, что позволяет работать в режиме многозадачности и работать в нескольких программах одновременно. Для того, чтобы Excel не занимал все ресурсы компьютера, у версий табличного редактора начиная с 2007 есть специальная настройка — Включить многопоточные вычисления. Проверьте включена ли она и задействована ли у вас полная мощность процессора.

Для этого зайдите в круглую кнопку Office (левый верхний угол) — Параметры Excel — найдите раздел Дополнительно — подраздел Формулы. См. первую картинку.

Проверьте, чтобы у вас стояла галочка «использовать все процессоры данного компьютера».

Можно так же принудительно поставить максимальное количество — в данном случае 4. Для некоторых расчетов может выручить. Я обращал внимание, что, например,  при сортировке больших таблиц часто используется только 1 процессор из 4 (по умолчанию), отсюда, кстати, и 25% использования процессоров, о котором часто упоминается. Установив принудительно максимальное количество задействованных потоков, вы уберете эту проблему.

Для включения функции многопоточных вычислений в VBA используйте команду:

Application.MultiThreadedCalculation.Enabled = True 

Кстати, отключить полное задействование тоже полезно, особенно, если вы выполняете параллельно несколько задач, а табличный редактор не в приоритете.

Как задействовать все процессоры. Настройка Windows

Кстати, не только Excel может ограничить количество процессоров в работе. В Windows тоже есть такая возможность.

Для того, чтобы проверить настройку Windows, нажимаем Пуск — Выполнить — вводим команду msconfig — заходим на вкладку Загрузка — Дополнительные параметры..

Виснет Эксель 2

Убедитесь, что число процессоров не задано вручную на минимальном уровне, или галочка не установлена и система по умолчанию использует максимум ресурсов.

Не помогло, все равно виснет Excel… Еще причины

  • Если у вас открыты несколько книг Excel, то расчет происходит по всем измененным ячейкам во всех открытых книг. По возможности закройте ненужные книги.
  • Если у вас по-настоящему большие таблицы (~0,5 млн строк и больше) и/или сложные вычисления, то лучше использовать Power Pivot. Которому мы скоро посветим большую рубрику!
  • Постарайтесь закрыть другие программы, которые забирают много оперативной памяти. Google Chrome самый распространенный замедлитель расчетов в Excel.
  • Установите Excel 2010 или 2013, в нем действительно хорошо потрудились над улучшением скорости вычислений. Мой опыт показывает, что ускорение достигает 2-3 раз для некоторых файлов, в первую очередь за счет асинхронного вызов а функций.
  • Не забывайте отключать автообновления экрана во время вычислений макросом
    Application.ScreenUpdating = False

Если эти методы вам не помогли, проверьте также способы, предложенные в этой статье Почему тормозит Excel?

Остались еще вопросы? Пишите их в комментариях под статьей!

Понравилась статья? Поделить с друзьями:
  • Сколько элементов в столбце excel
  • Сколько числовых символов excel воспроизводит корректно
  • Сколько чисел можно записать в одну ячейку excel
  • Сколько чисел можно записать в одной ячейки excel
  • Сколько чисел можно записать в одной ячейке таблицы excel