|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.12.2015, 18:34 | #1 |
Форумчанин
Регистрация: 01.03.2009
Сообщений: 230
|
оптимизация быстродействия файла
добрый день!
есть вопрос по быстродействию формул. на днях столкнулся с задачей анализа очень большого объема данных в эксель. вроде, упростил формулы как мне кажется предельно, но оболочка все равно тормозит и обсчитывает файл очень медленно. если мои формулы можно записать так, чтобы они обрабатывались более быстро, дайте, пожалуйста, совет как. была мысль отключать обновление и протаскивать формулы макросом, чтобы в каждом столбце они были нужной длины и не больше. я думаю, это может дать существенный буст к скорости, но вряд ли достаточный.. сам алоритм выбора переносить в макросы.. тоже думал, но мне кажется встроенные формулы должны обрабатывать данные быстрее, чем код, который я придумаю. такие вот дела... |
29.12.2015, 23:30 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Если Windows, то можно делать макросом на словаре - сперва всю выгрузку загнать в словарь (через массив), затем по каждому ключу сразу выбирать подходящие по условию и сразу их считать.
Тем более что упорядочивание не критично. Пока не известна система - нет смысла писать код.
webmoney: E265281470651 Z422237915069 R418926282008
|
29.12.2015, 23:43 | #3 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
peq,
значения key и key2 заданы, или должны извлекаться из этих же данных?
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
29.12.2015, 23:55 | #4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Хотя вот для начала - на 11 ключей:
Код:
P.S. есть куда оптимизировать этот подход по скорости, это так для начала...
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 30.12.2015 в 10:25. |
30.12.2015, 15:26 | #5 |
Форумчанин
Регистрация: 01.03.2009
Сообщений: 230
|
Hugo121
круто.. буст к скорости в несколько порядков.. никогда не сталкивался с коллекциями, придется их брать на регулярное вооружение, если это быстро настолько. спасибо! Казанский да, можно считать, что key/key2 заданы и фиксированы, я кое-где формулы в файле оставил, просто чтобы данные были более понятными по своей природе. |
30.12.2015, 15:50 | #6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Там ключевое это словарь. Коллекция массивов - это так, один из вариантов собрать данные по ключу.
webmoney: E265281470651 Z422237915069 R418926282008
|
30.12.2015, 16:31 | #7 |
Форумчанин
Регистрация: 01.03.2009
Сообщений: 230
|
понял.. уже читаю..
единственный вопрос - а какие предельные размеры одного словаря? например в 2007. по размеру листа 16тыс*1млн? или можно больше? |
30.12.2015, 16:38 | #8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Размер словаря не знаю, сходите на MSDN. Но думаю скорее упрётесь в память.
Можно обойтись без массива в коллекции, и даже без коллекций вообще - запоминаем в словаре номера строк массива с уникальным ключём (например в строку, но лучше всёж в коллекцию), затем получаем номер строки, по нему из исходного массива значения.
webmoney: E265281470651 Z422237915069 R418926282008
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оптимизация файла Excel | ILF_ollie | Microsoft Office Excel | 1 | 09.04.2013 23:52 |
Увеличение быстродействия | -=M{a}LoY=- | Общие вопросы C/C++ | 6 | 24.09.2012 23:37 |
Увеличение быстродействия | chui | БД в Delphi | 5 | 17.10.2011 15:48 |
макрос формирования и выгрузки файла txt (оптимизация) | v0r0nika | Microsoft Office Excel | 9 | 10.10.2011 15:24 |
Сравнение быстродействия | ChaosDev | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 22.11.2010 03:32 |