Where is List and record list stored? (Client or Server)

We're working on speeding up many of our larger looped page actions.

A typical case would be as such:

When the page loads, we create a list with: Record ID, Record Name, Boolean1, Boolean2
This list typically has a total of 1000-3000 records.

Our button (as ajax submit) runs a for each on the list that was built in the prep.
1) For each recordID in the list
1A) Do an aggregate on that record ID (Different table than the one the initial list was pulled from)
1B) Change a boolean inside that record
1C) Save the record from the aggregate
2) Refresh the page view with the modified results.

My question is: Is it faster to rebuild the list locally in the screen action, or to use the list from the prep?
Is the initial list which is built in the prep sent to the user as part of the viewstate, and then reuploaded when the user clicks submit?

What is the best practice for situations like this?

Braxton Bragg

Hi Braxton,

Yes that list built in preparation is send to client as part to viewstate and sent back again to server. Since is a big list performance wise is better to recreate the list on the screen action

Rule number 9 from https://success.outsystems.com/Documentation/Best_Practices/Performance_Best_Practices/Performance_Top_10_Rules




Hi Braxton,

If your list or RecordList is having less record then you can use Preparation data otherwise you should rebuild the list locally in the screen action to get the faster result to avoid store heavy  data in viewstate.