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

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

28 Сентябрь 2020, 02:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1 2 »   Вниз
  Печать  
Автор Тема: Деградация скорости у функции setDataArray()  (Прочитано 1775 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Bigor
Мастер
*****
Offline Offline

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


« Ответ #52820: 3 Декабрь 2019, 21:47 »

Не могу воспроизвести.
Вот так воспроизводится

Код:
sub DataArray
  doc = ThisComponent
  range = doc.Sheets(0).getCellRangeByPosition(0,0,0,500000-1)
  dim data(0 to 500000-1)
  for i = 0 to 500000 - 1
     If i mod 10 = 0 Then
     data(i) = array("")
     Else
     data(i) = array(i)
     End if
  next i
  Print "Go"
  t = now()
  range.setDataArray(data())
  MsgBox Format(now() - t, "ss "" s""")
end sub

в данном виде 28 с
если data(i) = array("") заменить на data(i) = array(i)
то около 3 с

зы формат первого столбца дата
« Последнее редактирование: 3 Декабрь 2019, 21:48 от Bigor » Записан

Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут
Страниц: 1 2 »   Вверх
  Печать  
 
Перейти в:  

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