Description
Since jsonnet is a pure functional language, there are many ways to optimize execution that are not available to languages with side effects. One idea is to parallelize functions like std.map
. Have you considered this?
Alternatively, have you considered adding parallel versions of existing standard library functions, e.g. std.pmap
as a parallel version of std.map
.
This is not a theoretical request. I have 140+ different jsonnet objects to materialize. When I try materializing serially, it takes minutes. What I have resorted to is to parallelize the materialization, which gets the time down to tens of seconds. When I look at packages like tanka, I see that they don't offer any way to parallelize materialization. It would be a great performance improvement to offer this in go-jsonnet at the standard library level.