There are multiple issues reported regarding performance problems when the index.yaml size starts to increase:
#6155
#9931
#9865 (not related to the index file being .yaml, but still related)
@mattfarina has created a benchmark showing that JSON parsing is an order of magnitude faster: https://github.com/mattfarina/yamlbench
@mattfarina also created https://github.com/mattfarina/helm-index-json to show some JSON split testing.
As more and more indices are growing in size, this problem is bound to happen to more and more users.
Would it be due time to look into placing a .json index file next to the .yaml file, so that Helm opts to use the .json file but falls back to .yaml if it does not exist?
Just the switch from YAML -> JSON should help significantly in this area. JSON is also more natural for computer-written data as opposed to YAML which might be more suited for data where users also at times edit the files manually.
There are multiple issues reported regarding performance problems when the index.yaml size starts to increase:
#6155
#9931
#9865 (not related to the index file being .yaml, but still related)
@mattfarina has created a benchmark showing that JSON parsing is an order of magnitude faster: https://github.com/mattfarina/yamlbench
@mattfarina also created https://github.com/mattfarina/helm-index-json to show some JSON split testing.
As more and more indices are growing in size, this problem is bound to happen to more and more users.
Would it be due time to look into placing a .json index file next to the .yaml file, so that Helm opts to use the .json file but falls back to .yaml if it does not exist?
Just the switch from YAML -> JSON should help significantly in this area. JSON is also more natural for computer-written data as opposed to YAML which might be more suited for data where users also at times edit the files manually.