https://bugs.freedesktop.org/show_bug.cgi?id=78254
Priority: medium
Bug ID: 78254
Assignee: [email protected]
Summary: Substantial performance deterioration by scroll
through cells via macro in LibreOffice Calc
Severity: major
Classification: Unclassified
OS: All
Reporter: [email protected]
Hardware: All
Status: UNCONFIRMED
Version: 4.2.3.3 release
Component: Libreoffice
Product: LibreOffice
Created attachment 98415
--> https://bugs.freedesktop.org/attachment.cgi?id=98415&action=edit
Scroll Down Performance - Test Macro
Hello,
I noticed a substantial performance deterioration by scroll through cells via
macro in LibreOffice Calc since version 4.2.0 (up to 4.2.4.1 pre-release)!
To scroll through cells via macro needs in LibreOffice Calc 4.2.x more as four
times as compared to Calc 4.0.x or 4.1.x!
Here my test results to scroll through 10.000 cells only,
needed time:
LibreOffice 3.6.5.2 00:18 [mm:ss]
LibreOffice 4.0.4.2: 00:15 [mm:ss]
LibreOffice 4.1.4.2: 00:15 [mm:ss]
LibreOffice 4.2.0.4: 01:40 [mm:ss] (!!!)
LibreOffice 4.2.1.1: 01:07 [mm:ss] (!!)
LibreOffice 4.2.2.1: 01:08 [mm:ss] (!!)
LibreOffice 4.2.3.3: 01:07 [mm:ss] (!!)
LibreOffice 4.2.4.1: 01:12 [mm:ss] (!!) (pre-release)
(reproducible with an aberration of around +/-1 second)
Needed time with Excel on the same computer to compare:
Excel 2010 with "Application.ScreenUpdating = False": ~00:01 [mm:ss]
Excel 2010 with "Application.ScreenUpdating = True" : 00:05 [mm:ss]
Test system:
Windows 7 64-bit, Intel Core2Duo P8700 2.53 Ghz, 4 GB RAM,
(Java SE Runtime Environment build 1.6.0_24-b07)
(Because the function "Application.ScreenUpdating = False" does not works in
LibreOffice I opened already a separate bug report:
https://bugs.freedesktop.org/show_bug.cgi?id=52603 )
A xls file with a macro for the performance test is added as attachment!
Excel VBA macro code for the test:
Sub Test_ScrollDownPerformace()
' Performance test for scroll down via macro in Libre Office
' Testing Excel VBA Code in Libre Office:
Dim start_time, stop_time As Date
Dim needed_time As Double
Range("A1").Select
Application.ScreenUpdating = False
start_time = Time()
For i = 1 To 10000
ActiveCell.Offset(1, 0).Select
' do something or check cell content
Next i
stop_time = Time()
Range("A1").Select
Application.ScreenUpdating = True
needed_time = TimeValue(stop_time) - TimeValue(start_time)
MsgBox ("Start: " & start_time & Chr(13) & _
"Stop: " & stop_time & Chr(13) & Chr(13) & _
"Needed Time: " & Format(needed_time, "HH:mm:ss"))
End Sub
--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs