Перейти к содержанию

Рекомендуемые сообщения

Достаточно много видел сообщений по поводу оптимизации различных формул, различных расчётов и стратегий. Но мало кто решался подробно изучить основной элемент таблиц, без которого они не смогли бы полноценно работать.

В качестве примера была взята таблица InfinityBook, которая находится здесь: https://brcbet.com/files/file/37-rabochaya-infinitybook-12v1/

 

Код был оптимизирован, в процессе работы использовалась информация с этих сайтов:

https://docs.microsoft.com/ru-ru/office/vba/excel/concepts/excel-performance/excel-tips-for-optimizing-performance-obstructions

https://vremya-ne-zhdet.ru/vba-excel/vremya-raboty-makrosa/

Дополнительно был создан "частично-оптимизированный" файл загрузчика. В нём было всего два изменения относительно исходного файла: отключенный пересчёт (Application.Calculation = xlCalculationManual) и изменён тип файла на бинарный .xlsb

Получается что сравнивались три таблицы - исходная, частично-оптимизированная и полностью оптимизированная - "быстрая". Все они находятся в архивах внизу сообщения.

Затем провёл измерения - по 5 штук.  При нахождении среднего не учитывал лучшее и худшее среди этих пяти значений. При этом использовал встроенную функцию Timer.

Сначала измерялось время загрузки списка матчей ( лист "Список")  в обычном режиме. Затем загружались те же данные, но с использование одного ядра процессора. (настраивал через Файл->Параметры->Дополнительно->Формулы)

Далее загружался матч: с макросом "refreshAll", и без него.

Результаты выложил в файле "Сравнение версий". Поскольку в данном парсере практически отсутствуют тяжёлые формулы, то данные с  "частично-оптимизированной" таблицей и данные  с одноядерного теста не являются корректными. Данные будут корректными если загрузчик будет использовать больше сложных формул/расчётов. 

В ходе эксперимента удалось ускорить загрузчик примерно на 15% по сравнению с исходным вариантом. Вот окончательный вариант:Быстрая IB.7z

Как вы считаете, возможно ли ещё сильнее ускорить подобный загручик? И вообще - целесообразно ли оптимизировать таблицы?

Исходная IB.7z Оптимизированная IB.7z Сравнение версий.xlsx

Ссылка на комментарий
https://brcbet.com/topic/63030-optimizatsiya-zagruzchika/
Поделиться на другие сайты

  • Постоянный
3 часа назад, Mex_Kozo4ki сказал:

Достаточно много видел сообщений по поводу оптимизации различных формул, различных расчётов и стратегий. Но мало кто решался подробно изучить основной элемент таблиц, без которого они не смогли бы полноценно работать.

В качестве примера была взята таблица InfinityBook, которая находится здесь: https://brcbet.com/files/file/37-rabochaya-infinitybook-12v1/

 

Код был оптимизирован, в процессе работы использовалась информация с этих сайтов:

https://docs.microsoft.com/ru-ru/office/vba/excel/concepts/excel-performance/excel-tips-for-optimizing-performance-obstructions

https://vremya-ne-zhdet.ru/vba-excel/vremya-raboty-makrosa/

Дополнительно был создан "частично-оптимизированный" файл загрузчика. В нём было всего два изменения относительно исходного файла: отключенный пересчёт (Application.Calculation = xlCalculationManual) и изменён тип файла на бинарный .xlsb

Получается что сравнивались три таблицы - исходная, частично-оптимизированная и полностью оптимизированная - "быстрая". Все они находятся в архивах внизу сообщения.

Затем провёл измерения - по 5 штук.  При нахождении среднего не учитывал лучшее и худшее среди этих пяти значений. При этом использовал встроенную функцию Timer.

Сначала измерялось время загрузки списка матчей ( лист "Список")  в обычном режиме. Затем загружались те же данные, но с использование одного ядра процессора. (настраивал через Файл->Параметры->Дополнительно->Формулы)

Далее загружался матч: с макросом "refreshAll", и без него.

Результаты выложил в файле "Сравнение версий". Поскольку в данном парсере практически отсутствуют тяжёлые формулы, то данные с  "частично-оптимизированной" таблицей и данные  с одноядерного теста не являются корректными. Данные будут корректными если загрузчик будет использовать больше сложных формул/расчётов. 

В ходе эксперимента удалось ускорить загрузчик примерно на 15% по сравнению с исходным вариантом. Вот окончательный вариант:Быстрая IB.7z

Как вы считаете, возможно ли ещё сильнее ускорить подобный загручик? И вообще - целесообразно ли оптимизировать таблицы?

Исходная IB.7z 2 \u041c\u0411 · 0 загрузок Оптимизированная IB.7z 2 \u041c\u0411 · 0 загрузок Сравнение версий.xlsx 11 \u043a\u0411 · 0 загрузок

Оптимизировать таблицы считаю целесообразным, но нужно лишь сдвинуть приоритеты и оптимизировать не код, а сами формулы алгоритмов. Подождать лишние 15-20-25% времени обработки - это не та проблема, над которой действительно следует трудиться. Было бы ради чего...имхо..

Ссылка на комментарий
https://brcbet.com/topic/63030-optimizatsiya-zagruzchika/#findComment-78761
Поделиться на другие сайты

Хорошая тема. Но я в этом точно не бум бум. А есть такая таблица Auto_Totalbomb-L10_FX2021.xlsm. Программа хорошая но грузит очень долго. Даже на неделе когда матчей мало грузит не меньше часа. Про выходные я вообще молчу. Не выставляет дату. Можно её оптимизировать?

Auto_Totalbomb-L10_FX2021.xlsm

Ссылка на комментарий
https://brcbet.com/topic/63030-optimizatsiya-zagruzchika/#findComment-78765
Поделиться на другие сайты

50 минут назад, zxxxa сказал:

Хорошая тема. Но я в этом точно не бум бум. А есть такая таблица Auto_Totalbomb-L10_FX2021.xlsm. Программа хорошая но грузит очень долго. Даже на неделе когда матчей мало грузит не меньше часа. Про выходные я вообще молчу. Не выставляет дату. Можно её оптимизировать?

Auto_Totalbomb-L10_FX2021.xlsm 390 \u043a\u0411 · 2 загрузки

дата же можно выбрать чего не хватает это архив и результаты и насчет что долго думает согласен

Ссылка на комментарий
https://brcbet.com/topic/63030-optimizatsiya-zagruzchika/#findComment-78773
Поделиться на другие сайты

15 минут назад, Adok сказал:

дата же можно выбрать чего не хватает это архив и результаты и насчет что долго думает согласен

Про дату это так. Самое главное это скорость загрузки

 

Ссылка на комментарий
https://brcbet.com/topic/63030-optimizatsiya-zagruzchika/#findComment-78777
Поделиться на другие сайты

Просил оптимизировать. Теперь приходится просить ещё и отремонтировать. Перестала загружать.

Ссылка на комментарий
https://brcbet.com/topic/63030-optimizatsiya-zagruzchika/#findComment-79221
Поделиться на другие сайты

В 04.08.2021 в 01:39, zxxxa сказал:

Про дату это так. Самое главное это скорость загрузки

 

Грузи без кэфов, 5 минут и готово

Ссылка на комментарий
https://brcbet.com/topic/63030-optimizatsiya-zagruzchika/#findComment-79389
Поделиться на другие сайты

6 часов назад, Александр Царегородцев сказал:

Грузи без кэфов, 5 минут и готово

Она теперь вообще не грузит

Ссылка на комментарий
https://brcbet.com/topic/63030-optimizatsiya-zagruzchika/#findComment-79498
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...