Even more performance improvements

In February, my teammate Kelsey shared some updates on how we were making docs load and perform faster. And three weeks ago, Himanshu provided some insights into how we were making calculations faster in your docs. Today, I have the honor of providing our third installment in our series of updates confirming our commitment to making Coda more performant!

If you read Kelsey’s post closely, you may’ve noticed we were able to optimize a few types of columns to take up less space, so their docs load more quickly. We’ve expanded on that work so that docs with any of the following column typesーand interactive filters or controlsーshould load and perform even faster :

  • Buttons & controls: We’ve made improvements to more columns and controls to take up less space in your docs. Docs with button, reaction, checkbox, slider, and scale column types and controls should now load faster; textbox controls also load more quickly
  • Files & attachments: We’ve also optimized the file and image attachment column types to take up less space

The upgrades for these columns and controls have already begun rolling out to most docs, so you should notice a bit more speed already. We’re still running the numbers, but didn’t want to delay the good news while we put together some nice charts for this launch.

Enjoy your faster docs, and please keep letting us know where you’d like us to focus our efforts to improve performance next!

32 Likes

I just noticed my doc today was running quite a bit faster. Thank you so much! Great great job!!!

4 Likes

Hooray! @Roger_Hu

Does this mean the code for button actions is now only stored once on the column level (e.g. in the schema) and not every time per row?

Also could you please elaborate on what exactly changed for other controls?
I’ll probably reverse-engineer the docs eventually anyway like I used to in the past, but I’ll appreciate a quick technical answer here.

3 Likes

As someone who’s working on a doc that’s going to get pretty large over time, these frequent performance improvements are fantastic to see. Great work as always Codeans!

2 Likes

:partying_face: Great news! This should not only speed things up but reduce file size (further speeding things up) and helping with API issues.

Keep up the great work!

4 Likes

Hi Paul!

At a more technical level, the changes are the same as the ones Kelsey described in the replies of her earlier post, but applied to even more control types. The short summary: all of these controls used to be backed by system render columns that contained redundant metadata in each and every row that we’ve now pulled out and store only once at the column-level.

For buttons, the current changes have focused on reducing storage size of a button’s display properties - its color, label, icon, etc. But we’re not done with buttons yet! Action formula storage sizes are another area for space optimization that we’re aware of and haven’t gotten to yet.

Roger

10 Likes

Thanks @Roger_Hu and welcome to the Community! :slightly_smiling_face:

4 Likes

Thanks for this update! It makes my doc loading time pass from 1min 3sec to 53 sec!
Before this series of update it was near 2 and half minutes! :smiley:

And also the cross doc that used to be like 124 mb out of 125 max api now is magically around 50mb! :smiley:

Now i can finally declare usable my doc :heart_eyes: :joy:

Keep going :blue_heart:

5 Likes

Thanks a lot :smiley:!! The improvements are noticeable, I always get excited when some slow place speeds up :snail: :fast_forward::exclamation:

You can work next on improving the search bar, it needs some debounce time when searching, it queries for every keystroke and on large docs this takes precious :ring: time :laughing:

Are you working on memoization for calculations? Don’t know if this currently happens but we would benefit a lot from this

Hope my suggestions are useful, keep up the amazing job :hugs: :green_heart:

4 Likes

I noticed it during the last few days. Thanks!

1 Like

When are you going actually improve speed for pages with simple formatting only? (like Bold / Colorized / Emphasis usage for text mostly).
These are still slow to work with (at least from non-USA locations).