google / google/go-jsonnet

Multi-threaded evaluation?

Open
#457 2 comments 1 reaction 0 assignees View on GitHub
performance project research
Dominant language
Go
Stars
1.8k
Forks
263
PR merge metrics
No merged PRs in 30d

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.