Skip to content

[bug]: performance regression compiling jsonnet since 0.34.0-rc.1? #1290

@jperville

Description

@jperville

Description of the bug

I have been happily using Kapitan for a while.
I noticed much slower compile times with the recent 0.34 stable releases vs 0.34.0-rc.1.
I use go-jsonnet but the performance is as bad as if python-jsonnet was used.

As a workaround, I am staying on 0.34-rc.1 for the moment.

Steps to reproduce

I have a work kapitan project (which I cannot share publicly, but can share privately).

1. using kapitan 0.34.0-rc1: `kapitan compile --verbose -J vendor .`
2. using kapitan 0.34.4: `kapitan compile --verbose -J vendor .`

Compare the compile time at the end of the verbose log.

What happened?

I expected to have similar compile times between 0.34.0-rc.1 and 0.34.4

Additional context

When trying to compile my work kapitan project (7 targets, compiling 6 in parallel).

The compile times are:

  • 1.4 seconds with kapitan 0.34.0-rc.1
  • 6.7 seconds with kapitan 0.34.4

I published logs of both compilations as gist here:
https://gist.github.com/jperville/7ea40d8dde3b11e9b81f72fc9aad8aca

Here is the content of my .kapitan file:

version: 0.34

compile:
  indent: 2
  parallelism: 6
  cache: true
  fetch: true
  use-go-jsonnet: true
  targets:
  - aks-dev
  - gke-dev
  - eks-dev
  - k3s-dev
  - kind-dev
  - kubespray-dev
  - minikube-dev

Version (kapitan)

0.34.4

Version (kapitan)

I use kapitan directly (using docker: kapicorp/kapitan:0.34.4)

Python virtual environment

  • pyenv
  • venv
  • no environment

OS information

Ubuntu 22.04

Relevant log output

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions