Using the Mac app, I have noticed that larger tables slow down the app and memory use goes above 1GB, with spikes >2GB when performing searches. A large table here means about 600 rows and 6 columns. I guess that is somewhat large, but not huge. The latest version (2.6.3) seems to struggle with it. I am new to Bear, so I don’t know whether this is an issue with this version.
I played a bit with table sizes, keeping an eye on memory use in the activity monitor. The sweet spot seems to be around 210 table entries, and even adding a table with a single column leads to memory pressure. Even notes with tables of about 100 entries are rather slow, taking a second or two to display the table.
I love the app, and massive thanks to the hard work of the developers over so many years! I just wish the performance with moderately sized tables was much better. Is there any hope that this might be fixed soon?
Yes, tables are a tricky component to get right. There’s nothing ready-made that fit our needs, so we had to build them entirely from scratch. We focused on optimizing the writing experience and smooth browsing within the note, which I think turned out quite well. However, that came at the cost of higher RAM usage and less-than-ideal re-rendering speed (though it doesn’t affect the actual writing).
We do have some ideas on how to improve table performance, but we haven’t had the time to explore them yet, and there haven’t been many requests regarding speed (likely because few users work with very large tables). Still, we’ll try to find some time to experiment and see how we can enhance rendering speed and reduce memory usage.
Thanks for bringing this issue back to our attention!
Thank you for considering this issue! When you tackle the tricky tables again in the future, it would be really nice to have:
being able to sort individual columns easily (requested a bunch of times by others), making tables so much more convenient
offering an option to adjust the column width to the minimal character length within that column, it is rather annoying when a short numeric index or a column for a year takes up so much valuable space