this series fixes a series of bad patterns in our api/gui code,
especially some O(n^2) code regarding resource count (vms/storages/etc.)

note that the api change is only a current stop-gap workaround and aaron
is working on making that code not necessary at all, but for now this
should be good.

The overall perforamnce improvement i see on my local test cluster with
~10000 vms is from

API ~22s + GUI ~8.5s

to

API 500ms + GUI 500ms

which is a ~30x speedup (since it's mostly quadratic code that is
removed, this is more noticable the more resources there are ofc)

Dominik Csapak (4):
  API2Tools: rrd: remove O(n^2) lookup for keys
  ui: fix O(n^2) calculations when loading /cluster/resources
  ui: resource tree: improve performance on initial update
  ui: resource tree: fix change detection

 PVE/API2Tools.pm                   |  7 +++----
 www/manager6/Utils.js              | 12 ++++--------
 www/manager6/data/ResourceStore.js | 20 ++++++++++++++++++++
 www/manager6/tree/ResourceTree.js  | 25 +++++++++++++++++++++++--
 4 files changed, 50 insertions(+), 14 deletions(-)

-- 
2.47.2



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to