Home / Companies / Metabase / Blog / Post Details
Content Deep Dive

Improving the performance of the popular Clojure development tool clojure-lsp

Blog post from Metabase

Post Details
Company
Date Published
Author
Sashko Yakushev
Word Count
1,666
Company Posts That Month
3
Language
English
Hacker News Points
-
Post removed?
No
Summary

The author shares their experience optimizing the Clojure language server (clojure-lsp) to improve performance when dealing with large codebases, specifically in the context of the Metabase project. Initially, clojure-lsp's startup time was significantly long, attributed to inefficient heap usage and frequent garbage collection. By increasing the heap size and employing tools like VisualVM and clj-async-profiler, the author identified several inefficiencies within clojure-lsp, particularly related to the clj-kondo library. Key optimizations included refining the deep-merge function, improving the rewrite-clj library, and enhancing Clojure's memoization method by reducing unnecessary allocations. These efforts resulted in a substantial reduction in execution time and memory allocation, leading to a two-fold improvement in performance. The optimizations have been merged into clojure-lsp and verified by its maintainer, Eric Dallo, though further improvements are anticipated to continue enhancing the tool's efficiency for large-scale projects.

Trends Found in this Post
Trend Post Mentions Total Month Mentions Posts Companies MoM
Subagents 1 252 70 46 +33%
Use This Data

Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.