View Issue Details

IDProjectCategoryView StatusLast Update
0018395MMW 5Otherpublic2022-04-07 12:18
ReporterLudek Assigned To 
PriorityurgentSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version5.0 
Target Version5.1 
Summary0018395: Optimize shared lists access
DescriptionPer IM discussion re performance issues while traversing large SharedLists:

1. Review current Fast access implementation (list.getFastObject), whether there isn't any bug.

2. Direct access to a List content (or subset of its properties). This will always be faster than 1. We could evaluate both custom Delphi code creating the JS values, or the JSON route. I suppose that the former would be faster.
i.e. introducing list.getAllValues( property) that would return JS array of the property for all list items

3. Review WebWorkers usage. When we did in the past, it wasn't easily possible to use them through CEF from Delphi, but I suppose that the situation might have changed since and their usage could get some load off the main JS thread.
TagsNo tags attached.
Fixed in build

Relationships

related to 0018394 closedmichal (Performance) Use asJSON instead of fastForEach in Dropdown._setAutoWidth 

Activities

jiri

2021-10-07 13:01

administrator   ~0065015

Petr, please have a look at 1&3.

2. can be implemented by anyone, in cooperation with Jordan.

Ludek

2021-10-15 10:48

developer   ~0065225

Last edited: 2021-10-15 10:49

2) is implemented in 2509 (SVN revision 38714)

peke

2021-10-16 21:08

developer   ~0065262

2) Verified 2510

petr

2021-10-18 17:33

developer   ~0065287

1) i've made some tests and getFastObject method in regular build is more than 50% faster (accessing 9k tracks took 2.2secs in debug, and 0.9sec in regular).