Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

16 Июнь 2019, 15:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice  без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Как повысить производительность макроса  (Прочитано 1600 раз)
0 Пользователей и 1 Гость смотрят эту тему.
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 723


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #33722: 24 Декабрь 2015, 00:37 »

Суть в том, что примерно из 2500 ячеек вызывается моя макрос-функция, возвращающая число в ячейку.
Каждый такой вызов возвращает найденное в другом листе число из диапазона примерно 20000 ячеек.
В общем-то объём вполне разумный, ничего сверхъестественного - но на эту работу уходит суммарно более 3 секунд.
Три секунды на 20000 ячеек — это не так уж и медленно.
Код даже присылать нет смысла: там в каждом вызове банально перелопачивается матрица из 20000 ячеек при помощи метода GetCellByPosition().
Может быть проблема именно в нём - нужно использовать какой-то более эффективный подход?
Извлечение данных массивом и обработка массива быстрее чем поштучная обработка ячеек. Но это в общем, конкретно нужно смотреть на задачу (исходные данные и макрос)
Записан

Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!