Annual Report: TDF’s (The Document Foundation) infrastructure in 2021

So I enabled support for up to 16384 columns in Calc by default some time ago, but just getting it to work was not necessarily the end of the work. Making Calc have 16 times more columns means that any operation that works on entire columns is suddenly 16 times slower, or even worse. Similarly this could easily lead to 16x more memory used. So the support not only needs to work, but it also needs to be usable.
It theory adding a number of empty columns to the end of a spreadsheet should not make a difference, but in practice it does. With 1024 columns it is not as necessary to ignore those empty columns as it is with 16k, and a lot of the code dates back to the times when Calc supported even fewer colums (256?), where a being little inefficient here or there didn't show. But now it suddently did.
For example, if you protect or hide all unused columns until the end of the spreadsheet, then hitting the right arrow key on the last accessible cell makes Calc check all cells to the right for whether it's possible to go into them. And checking whether a column is hidden requires searching the list of column information, which is not trivial (it's compacted in order not to waste memory). The barely noticeable cost of this with 1024 columns got large enough to cause noticeable delays. Fortunately the ColHidden() function is smart enough to return the first and last column in the compacted range where the flag is equal, the code doing the cursor navigation just up until now didn't bother using that information, but now it needed to do so.
-
- Login or register to post comments
Printer-friendly version
- 2820 reads
PDF version
More in Tux Machines
- Highlights
- Front Page
- Latest Headlines
- Archive
- Recent comments
- All-Time Popular Stories
- Hot Topics
- New Members
Security Leftovers
| Raspberry Pi Restores Guitar Amp, Complete With Effects
Restoring old hardware is always more fun when you can throw in a Raspberry Pi. This project, created by maker and developer David Silverman, does just that, using a Pi to power an old Vox guitar amplifier. Not only does it work as an amplifier, it also has a few special effects thrown in to create custom sounds.
This Pi-powered guitar amp system is housed inside the cabinet of an old Vox amplifier that, according to Silverman, is no longer working. A Pi 3B+ brings back the original functionality, with the help of a class D amplifier and some custom Python scripts created by Silverman himself. The case has been modified to house the Pi and features panels with port access, as well as knobs for the effects array.
|
Help others find free software: Watch and share Escape to Freedom
"Escape to Freedom" is a new animated video from the Free Software Foundation (FSF), giving an introduction to the concepts behind software freedom: both what we gain by having it, and what rights are at stake.
Join our lead freedom-seeker, Zara, as she learns the importance of free software, and guides herself through the labyrinth of challenges posed to her by contemporary digital society, which offers the tempting allure of convenience in exchange for important rights. In search of freedom, she learns how to seize control of her own seemingly predetermined narrative and helps others do the same -- taking the ladder that leads to digital liberation step by step.
| vnlog 1.33 releasedThis is a minor release to the vnlog toolkit that adds a few convenience options to the vnl-filter tool.
|
Recent comments
1 hour 18 min ago
2 hours 33 min ago
2 hours 49 min ago
2 hours 54 min ago
3 hours 1 min ago
4 hours 15 min ago
4 hours 21 min ago
4 hours 22 min ago
4 hours 26 min ago
8 hours 24 min ago