Calculation resulting from pasting a formula in a full column (~ 1M cells) appears to hang the application.
When pasting in very many cells, could the operation be broken in two phases :
- phase one : timing of the processing time to
resulting first calculation be timed and the whole processing time be extrapolated and eventually result in a special treatment to avoid the hang feeling, whether by having it processed by a different thread or by having a "Cancel/Continue" dialog before the full operation is applied ?
Adding this check should not significantly slow down the most common pastes of 1 to 100 cells.
confirmed in 3.5.2/Linux rpm/32.
Clement, does this persist with LO 4.4?
What are the exact steps to reproduce this problem? NEEDINFO and please back to NEW once the requested information has been provided.
Created attachment 114852 [details]
testcase for bug 48381
An ODS document with 2 sheets :
one is "invoice" with columns (invoice_id, client_id, invoice_amount)
two is "client" with columns (client_id, total_invoiced)
There are 100 invoice rows and 300 client rows both filled with random generated test data.
Where the formula in client.B2 is :
=somme.si(invoice.B$2:B$1000; A2 ; invoice.C$2:C$1000)
(which function would likely be SUM.IF in english)
Created attachment 114853 [details]
Mac OS stack trace sample for bug 48381
Output of the Apple /usr/bin/sample analysis tool showing 3 seconds of sampling every 1ms entirely within the duration of the hung interface.
The interesting parts are where the statistics of where the program spends most of it's time are supplied : search for these :
- Total number in stack
- Sort by top of stack
To reproduce :
- open testcase
- select client.B2
- select client.B (whole column)
- remove client.B1 (column title) from selection
Saving the resulting file is equally long.
This teaches me that pasting complicated formulae into 1 million cells could have you wait a little time.
However, LibreOffice aiming to be a trouble free experience for it's users might want to deal with long calculations in an appropriate manner that lets the user know what happens and eventually cancel the process if it takes too long.
In that instance, there are no need to calculate 1M cells, just 300, and that is done in a snap.
And yes, it persists in 4.4.
I have reproduced them today 2015-04-17 in Version: 18.104.22.168
Build ID: 45e2de17089c24a1fa810c8f975a7171ba4cd432
Locale : fr_
I hope it helps. I have software development training but no practice in 20 years, if there is anything I can do more, i'd be willing to help but i'm a bit scared to dive in LO code and mess things around !
On Mac intel 64b / Yosemite / Xcode installed
It took me ~20 seconds to paste =TODAY() into an entire column. I am not sure this should be unexpected, Calc is pasting and evaluating 1,048,576 rows. Does Microsoft Excel have this problem?
OS: Linux Mint 17.2
*** Bug 106474 has been marked as a duplicate of this bug. ***