enso-org / enso

Hybrid visual and textual functional programming.
https://enso.org
Apache License 2.0
7.31k stars 318 forks source link

Removing dependencies to speed up startup #10249

Closed hubertp closed 3 weeks ago

hubertp commented 3 weeks ago

Pull Request Description

Reducing the number of dependencies. Explicit cats are almost gone (present in cli). enumeration is completely gone. cats is also still included implicitly via io.circe but that's a different kind of beast. Also, really removed jackson from dependencies by fixing the dependency on http-test-helper.

Important Notes

In a number of places importing all cats implicits could be simply replaced with a single or two method calls. Not to mention that this will reduce compilation times due to reduced implicit search space.

One example of how the changes affect performance (not only startup):

Before: Screenshot from 2024-06-11 12-05-24 Now: Screenshot from 2024-06-11 14-27-47 (frequently executed)

Screenshot from 2024-06-12 12-46-34 Also appears to be gone.

This PR is by no means finished. The purge will continue in follow up PRs.

Checklist

Please ensure that the following checklist has been satisfied before submitting the PR:

hubertp commented 3 weeks ago

I liked the other PR title more but it wasn't descriptive enough.