Rework the types used during data loading
This improves on the previous change. Currently, the node and instance lists shipped around during data loading are (again) association lists. For instances it's not a big issue, but the node list is rewritten continuously while we assign instances to nodes, and that is very slow. The code was originally written for small (10-20 node) clusters, and today with multinodes… :) Rewriting to use Node.List/Instance.List makes a bit of a messy patch, but it allows to remove some custom functions for assoc. list processing, and also some custom unittests. At the end, the load time is almost halved, and we spend time now just in the string parsing code (which is, as we know, slow…). Signed-off-by:Iustin Pop <iustin@google.com> Reviewed-by:
Balazs Lecz <leczb@google.com>
Showing
- Ganeti/HTools/Loader.hs 14 additions, 23 deletionsGaneti/HTools/Loader.hs
- Ganeti/HTools/Luxi.hs 2 additions, 2 deletionsGaneti/HTools/Luxi.hs
- Ganeti/HTools/QC.hs 19 additions, 26 deletionsGaneti/HTools/QC.hs
- Ganeti/HTools/Rapi.hs 2 additions, 2 deletionsGaneti/HTools/Rapi.hs
- Ganeti/HTools/Simu.hs 5 additions, 4 deletionsGaneti/HTools/Simu.hs
- Ganeti/HTools/Text.hs 3 additions, 3 deletionsGaneti/HTools/Text.hs
- hscan.hs 1 addition, 1 deletionhscan.hs
Loading
Please register or sign in to comment