Comments (4)
Options:
-
https://github.com/luposlip/ndjson-db
It seems like this tool is mostly optimized for reads, since for each write you would have to do a another re-index. -
http://jsondb.io/
Reads entire database into memory, which is a disadvantage. -
Already tried nippy, but that doesn't work well with GraalVM yet. Codox needs nippy.
-
https://db.apache.org/derby/
Tried, didn't work with GraalVM. -
Fressian: tried it, but didn't compile with Clojure 1.10. It did work with Clojure 1.9. It's probably due to this issue: https://dev.clojure.org/jira/browse/CLJ-1472.
-
Transit: worked well with GraalVM and had better performance than normal EDN.
-
https://github.com/greglook/clj-cbor
Haven't tried this one yet.
from clj-kondo.
For now I transitioned to Transit (see #28 and #29).
Thanks to https://github.com/clojure-goes-fast/clj-async-profiler … it's clear that about 2/3 of the time is spent in (de)serializing when linting a single file with clj-kondo. I'm optimizing for this use case (editor feedback). So that's definitely worth optimizing more.
What's left is:
- splitting the cache into files per language and namespace.
from clj-kondo.
Fixed with 9e93904
from clj-kondo.
When performance becomes a concern, we should probably also try jsonista.
from clj-kondo.
Related Issues (20)
- Static usage of ns-unmap not recognized HOT 1
- (Class/field) should warn HOT 2
- clojure.core/subs positions HOT 1
- Support a gitlab CI friendly output natively HOT 2
- Improved var-usages analysis for multimethods HOT 1
- Support clojure-lsp/unused-public-var for custom macros HOT 1
- False positive from not-a-function when using reader to read a record HOT 3
- Report var usage in `if`/`when` condition as always truthy
- Clojure 1.12 Alpha 7 param-tags placeholder not recognized HOT 3
- String* may also appear outside of metadata HOT 2
- Class/forName considered as function name (proposal: say that it must be a simple symbol) HOT 8
- False positive bigint in (extend-type bigint IDeref (-deref [_])) (CLJS 1.11.132)
- Warning due to shadowing of clojure.core/update-vals
- ambiguous unhinted method-as-function should warn about adding metadata HOT 1
- Lint files in topological sort order
- clj-kondo Pod - lint stdin HOT 1
- clj-kondo incorrectly flags method as field HOT 1
- Wrong unresolved error on defmacro HOT 1
- false positive(?) : Static fields should be referenced without parens unless they are intended as function calls HOT 6
- :case-symbol-test should warn on symbol in list
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from clj-kondo.