Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Avoid writing to the config file if not necessary
Writing to the config file to update the server list has a small cost. However, since this is done repeatedly for each configured context, this cost can accumulate when users have a lot of contexts. In my case, with 27 contexts (not realistic but I was testing) the slow down increased by about 0.65 seconds on my M1 Mac, making the startup jump from around 0.35 seconds to 1 second. This may be due to repeatedly writing to the configuration files. The synchronization of the servers is done for every single CLI command (since it is in an init()), which means that if there is a slow down, it affects every single CLI command, even printing help and shell completion. Although doing this synchronization in an init() is probably overkill, it would be acceptable if actually writing to the config files was limited to when it was necessary. This is because updating the server list does not actually need to be done all the time but only if there is a discrepency. Tis commit checks if there is actually any missing servers by comparing the list of contexts with the list of servers, and only if there are missing servers will it trigger the update. Signed-off-by: Marc Khouzam <[email protected]>
- Loading branch information