Some Performance Announcements

My 5c regarding performance.

For non-trivial use cases, no wonder it would take non-trivial skills to make them right. For docs that are more like apps, having software engineering skills and thinking would be very helpful.

E.g. just a recent example of optimizing an “endlessly recalculating” doc:

And just a few days ago I optimized a very complex calculator I built for another client: I managed to reduce time required to add a set of rows from ~30 minutes down to ~3 minutes.

In both cases I just analyzed heavy formulas / unnecessary recalculations, and thought of how to bypass those. E.g., in the 30 min → 3 min case I streamlined the dependency flow (i.e. so that table B depends on table A, but nothing from table A depends on table B) and replaced a fair share of “live formulas” with inputs that could be populated just once with a button. FYI this was a table where rows were dependent on other rows from the same table (think recreating Excel cells where each cell is a Coda row), so adding a row would’ve triggered recalculations over the whole table.

This reply would’ve been a shameless plug because I’m doing Coda consulting for a living and optimizing perf is just one of the things that puts food on my table. But I’m insanely overworked already, so not a shameless plug this time :upside_down_face:

5 Likes

I’ll cross-post some recent learnings here too:

3 Likes

I agree with Paul that having software engineering skills helps … but even with those we hit a performance limit in a few months of Coda use.

We are using it for tasking and live documentation. We have around 2000 rows and its just getting to be too slow for actual use. We have about 600 rows for tasks and the rest come from cool features we added like scrum updates, asset pages, reference tables.

We really embraced coda and made very good workflows and as a result our project goals became clearer … but I am heading “Coda is so slow” comments across our team on a daily basis.

It is just too bad that I spend time every week looking to see if any performance improvements have been made …

Hi @Colin_Nickerson,

For the numbers you posted, that’s kind of unexpected for you to hit slowness. When I see this happen, there are a few things that I check on.

  • Previous row formulas - These cause the entire table to recalculate when anything happens that might change the columns referenced. This is a very inefficient schema and should be avoided if possible.
  • Many-to-Many lookups - If your tables lookup to each other in a many to many fashion where you try to have all data visible in all tables, this can cause lots of calculation dependencies when any changes are made in any table. Add people to a project or projects to people, but don’t try to do both in full fidelity.
  • Lots of lookup results per cell - Having a lookup column that has 100’s of lookup values in each row can cause the same issues with calculation dependencies and also starts to be an issue with column size.

I’d be curious to check out the doc if you’re open to sharing it. Feel free to write into Coda Support and and mention or link to this post and ask them to route it to me if you’re up for it.

And we do have a consistent and major focus on performance that has been on going for several months. Some items are foundational and take a long time to get in place, while others are easier and quicker fixes. Our work over the last several months has set up a great groundwork for us to start implementing these tweaks faster, so more performance updates are on the way!

3 Likes

Thanks for the info Ben. We do have many-to-many relationships, not really sure how to get around that in some instances.

Unfortunately I don’t feel comfortable sharing out the doc as it has stuff that would normally be under a NDA, but I can try to put something together that illustrates how we are using coda as I can understand why that would be useful to the development team.

Also, thanks for the information on the performance work. I really like using Coda and would like to keep building around it if possible

2 Likes

I am very pleased with the way Coda cares and delves into their customers. The forum itself has already been made quite qualitatively and pleasantly. This played a decisive role in my decision to buy a subscription. And now, when I see that developers take into account the opinions of users and do their best to optimize the software, I understand that I am with Coda forever!

3 Likes