Calc: Simple .ODS file loads slowly under LO 7, .XLSX fast

There are questions here already about slow loading times for Calc files, but it may be useful to add this one, with some additional data.

I have a simple 254KB .ODS file of IMDB data – text with no calculation – comprising these six sheets in these dimensions:

A: 2342 rows by 12 columns
B: 308 x 13
C: 478 x 13
D: 736 x 13
E: 64 x 6
F: 310 x 5

On a desktop system (Win10, Intel i7, 3.4 GHz, 16GB), since installing LO 7.0.3.1 (x64) this file takes approximately 15 seconds to load, during which the window is completely blank except for the outline of the LO icon in the upper left and the Windows actions in the upper right.

The same file, converted with LO Calc to MS Office 365 .XLSX, loads in about 1 second.

On a much older, slower laptop system (Linux Mint 20.1, Intel Core2 Duo, 2.3 GHz, 4GB) with LO 6.4.6.2, the same file in either .ODS or .XLSX format loads in about 3 seconds.

Houston, I think we have a problem.

LO-IMDB.odt

Can you attach the file to your question (if it contains no private data as it seems) so that we can experiment?

Edit your question and use the “paperclip” tool.

Done, as I imagine you can see.

Opens quasi instantly on my Fedora 33 Linux box, KDE Plasma desktop, LO 7.0.4.2. Hardware: Intel i5, 3.4GHz, 16GB

Instantly also with Win10 LO 6.4.7

Using Sysinternals ProcMon, I see something on Windows that I simply can’t interpret: soffice.bin starts up and does a lot of housekeeping for about 1.38 seconds ending with closing

C:\Windows\System32\DriverStore\FileRepository\prnms012.inf_amd64_707d3849370b9d23\Amd64\MSIPP-manifest.ini

then NOTHING for 12.02 seconds until it refers to the Registry, and about a second later takes a stab at the file. I wonder what’s happening during that 12 seconds. Whatever it is, it’s not soffice.bin that’s doing it.

This is not a solution to your problem but additional information. Either add it to the question by editing it or use the more link under this “non-answer” to repost as a comment.

Leaving this as an answer leads to think that the question is solved as seen from the home page and you may then not receive a definite answer as contributors could think it is already done.

Please test with a clean profile Menu/Help/Restart in Safe Mode

I’ve just tried safe mode three different ways: “restore from backup”, “configure”, and “reset to factory settings”. With all of those, Calc starts up 15%-20% slower than normally.
Incidentally, my “answer” was poorly posted because it’s obviously not an answer; I should have put it here. Is there some way to correct that?

At the end of your “non-answer”, there is a list of command links. One of these is more (only you as answer owner can see it). Click on it. A popup menu with “repost as comment” appears.

I wonder if it is an anti virus program scanning on load “unfamiliar” ODS files but not known file types like XLSX

ajlittoz: thanks. I had carelessly overlooked your earlier suggestion – my bad.

Antivirus: there’s no realtime antivirus running on this system other than Windows Defender, and this problem has surfaced only recently. Process monitoring shows no unusual processes running.

You might want to add an exclusion for .ods files, for how to, see Windows Defender Real Time Protection slowing file access on MS forums

After a reboot just now I double-clicked to open the file again with Sysinternals ProcExp running to try to catch anything else with a high CPU load during the open. But the file opened in just under 2 seconds. If opening it or any other spreadsheet goes too slowly again, I’ll try to measure then. I hate trying to track down these ephemeral problems. (Though of course I’d rather not have them to begin with.)

It’s back to slow-load. (!!) Monitoring with ProcMon shows that once opened, soffice.bin operates for 1.5 seconds and then shows no activity at all for about 12 seconds, when it becomes active again. What’s it waiting for? To be continued.

I’m still not at the bottom of this, but it’s happening with other spreadsheets. Just now a spreadsheet with static contents of 21 rows by 4 columns took over 35 seconds to load – three times! Has no one else encountered this?

Have you at least tried starting your spreadsheet with Defender disabled to see if it starts faster?

Or just exclude, probably, soffice.bin in Exclusions in Defender. Here is a link on how to exclude Thunderbird but you would just need to substitute soffice.bin for Thunderbird and User folder (%APPDATA%\libreoffice\4\user).

Thanks for the hint. I excluded soffice.bin for Windows Defender, but that had no effect: all the different sheets I tried still load quite slowly – the 21 x 4 sheet just took more than 50 seconds to load, another more than 30 seconds. AAARRRGH!

I’m going to add some basic information here before trying to analyze it further: I used Sysinternals Procmon to capture process events while I opened the spreadsheet first mentioned above, then looked at only soffice.exe and soffice.bin events. In one place after soffice.bin closed a Windows manifest file, there was a 27.7-second interval until the next soffice.* event (with 4,278 intervening non-soffice events), when three threads of soffice.exe exited within microseconds. After the last of those exited, there was an 8.3-second interval (1,492 intervening non-soffice events) until soffice.bin made a registry query… That’s a total of 36 seconds when neither soffice.exe nor soffice.bin was active.

As Calc opens the ODS file it tries to verify the availability of a printer, and calls on the print spooler spoolsv.exe to do it. spoolsv.exe goes looking for the printers it knows about, and in my household one of those is a recently installed wireless printer. spoolsv.exe blocks while making a network inquiry for the printer, and if that isn’t operating – if it’s not turned on – the process can take a long time.

If I save that ODS file as XLSX, the XLSX file opens immediately, but the ODS file still takes a long time. Can anyone explain that?

And is there some way to prevent soffice.bin from blocking while waiting for spoolsv.exe to do whatever it’s doing?