Is there a difference in the execution speed of an application made with Free to another made with Pro?

Is there a difference in the execution speed of an application made with Free to another made with Pro?

Currently I have made an application and there is a screen that shows some data stored locally (Local Storage) and it is very very very very slow.

Our idea is to switch to a pro user, but I am afraid that the application is still so slow in the pro environment.

It is an application that I had previously made with AI2 and that I have remade again to run with Thunkable. While with AI2 it works very well and fast, the speed I get in Thunkable is quite concerning.

1 Like

Hey @pesajejar,

No, everyone gets the same Thunkable.

PRO users get extra components, extra storage, and extra support but under the hood everyone gets the same level of performance.

Can you tell us a little more about what you’re doing here? Since all the data are stored locally the execution should be almost instantaneous. How many records are you working with?

2 Likes

I read a QR code that can contain many characters. One of the examples I use is 630 characters. The information is 12 lines: the first with two control words and then 11 rows.

The rows are a CSV of 10 fields (each with data around 55 characters).

The process is as follows (a bit simplified):
barcode.Scan ();
barcode_Scan.then_do ()
{
v_ rows = value.split ([new_line]):
foreach (row in v_rows)
{
v_elements = row.split (";")
if (v_elements.length () = 10)
{
if (v_elements [a] = var_a and v_elements [b] = var_b)
{
call_procedure_to_put_or_refresh_values_if_not_in (app.variable_list, row)
flag_hay_que_guardar = true
}
}
}
if flag_to_save
local_storage.save (“variable_list”, app.variable_list)
}

Well, when I scan the QR code, the camera stays active for about 20 seconds until it returns to the screen and shows the information read.

When I enter the screen (once I have the information read and saved), it takes about 10 seconds to display the information.

Note: I have modified the procedure:
Now after reading the QR code I save it to a variable and set a timer (at 200 milliseconds).
When the timer fires, I stop the timer (so it won’t run again) and launch the function that processes the information.
Thus, the program does not stay on the screen to read the code (which is confusing and it seems that it has not read it correctly), but the process of saving and displaying the information has taken me 1 minute

Note 2:
I keep optimizing the code. Now, in app.variable_lista, instead of saving a list of CSV (string), I directly save a list of lists.

Now, after reading the QR code “only” it took me 55 seconds, but at least now when entering the data page “only” it takes 15 seconds (before I think it was 20)

Question: I use a lot of “Dynamically named variables” to treat them as local variables, is it possible that such variables make the application run slower?

1 Like

Answer:

It seems that using “Dynamically named variables” slows down the process:

I have replaced the “Dynamically named variables” with normal application variables and now reading the QR and displaying the data takes only 23-24 sec and displaying the data screen 5-6 sec.

It is still very very slow, but it is an improvement.

1 Like

This should be true for cloud and/or stored variables but app variables should not have an effect on the speed.

I only use app variables, even when I store them I do it through the [Local Storage] .Save process.

I only do the saving and loading when necessary.

1 Like

In the process I use many lists and list accesses.

I actually save a list of lists as if it were an array. On another site I keep a list with the screen components so that I can access them by index to fill them (and fill them through a function that accesses lists).

To get access to the positions I use the method “in list ([list]) get # [index]” assuming that this method makes an immediate access. This is not like this?

I do not know if I can be forcing casting of variables that may be making the process slower and if so, how to solve it?

Can you share a screenshot of the blocks you are using?

We might be able to do some refactoring to speed up execution.

Thanks

2 Likes