|4 months ago||4 days ago|
|BSD 3-clause "New" or "Revised" License||Apache License 2.0|
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Performance of 12 JSON parsers for Scala
9 projects | reddit.com/r/scala | 29 Mar 2021
I've updated results of benchmarks of 12 JSON parsers for Scala: - AVSystem's scala-commons - Borer - Circe - DSL-JSON - Jackson - jsoniter-scala - Play-JSON, - play-json-jsoniter - Spray-JSON - uPickle - weePickle - zio-json
ActiveInject. Fast and Lightweight Dependency Injection Library
At the same time it’s thoroughly optimized with all the dependencies graph preprocessing performed at startup time. According to the benchmarks, in some scenarios ActiveInject is 5.5 times faster than Guice and hundreds of times faster than Spring DI. You can check the benchmark sources here.
Here we’ve created an AbstractModule named cookbook that contains all the required bindings, or “recipes”, for the ingredients. Call Injector.getInstance method to get an instance of the Cookie.
How does it work from the inside? Injector provides all the required dependencies for the component recursively traversing the dependencies graph in a postorder way. So it first created Sugar, Butter and Flour, the next was Pastry, and finally a Cookie.
Scope creates “local singletons” which live as long as the scope itself. ActiveInject scopes are a bit different from other DI libraries. The internal structure of the Injector is a prefix tree and the prefix is a scope. If you create an Injector that is set to a particular scope, it means that Injector enters this scope. This can be done several times, so that there are multiple injectors in a single scope.
What are some alternatives?
jsoniter-scala - Scala macros for compile-time generation of safe and ultra-fast JSON codecs
jackson-module-scala - Add-on module for Jackson (https://github.com/FasterXML/jackson) to support Scala-specific datatypes
jbpm - a Business Process Management (BPM) Suite
Flowable (V6) - A compact and highly efficient workflow and Business Process Management (BPM) platform for developers, system admins and business users.
Firefly - Firefly is an asynchronous web framework for rapid development of high-performance web application.
Play JSON - The Play JSON library
circe - Yet another JSON library for Scala
Seata - :fire: Seata is an easy-to-use, high-performance, open source distributed transaction solution.
rsp - A server-state reactive Java web framework for building real-time user interfaces and UI components.
rpc-bench - RPC Benchmark of gRPC, Aeron and KryoNet
opentest - Open source test automation tool for web applications, mobile apps and APIs
Josson & Jossons - A complete query and transformation language for JSON and a template engine to generate text output.