Posted 13 November 2020, 12:06 pm EST
Hi,
I have reproduced an issue in a minimalistic situation to show what we are experiencing in a more large scope.
We have a custom async function, like in this example (https://www.grapecity.com/spreadjs/demos/features/calculation/async-function/purejs).
In one cell we can chain the call to this custom function like this :
=ASUM(A1,B1)+ASUM(A1,B1)+ASUM(A1,B1)+ASUM(A1,B1)+ASUM(A1,B1)
In this scenario, we expect the ASUM function to be called 5 times.
However, we can see that this function is called 10 times on the initial load and if we change the value in A1, we see more than 20 calls. This become exponential more we add ASUM calls in one cell.
This is problematic because in real life we can have 15+ calls in one cell and this can cause the custom function to be called 100’000+. Our custom function is more complexe than in the example and fetch data in a database.
Here in attachment, a simple example on how to reproduce this issue. A debugger statement is here to see how many times we execute the custom async function.
Best Regards.