sbt-revolver VS JMH

Compare sbt-revolver vs JMH and see what are their differences.

sbt-revolver

An SBT plugin for dangerously fast development turnaround in Scala (by spray)

JMH

"Trust no one, bench everything." - sbt plugin for JMH (Java Microbenchmark Harness) (by sbt)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
sbt-revolver JMH
2 3
840 780
-0.2% -0.1%
3.1 7.0
about 1 year ago about 1 month ago
Scala Scala
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

sbt-revolver

Posts with mentions or reviews of sbt-revolver. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-01-10.
  • Tooling question
    2 projects | /r/scala | 10 Jan 2022
    Another thing to look into is sbt-revolver, this will shorten the turnaround time on whatever machine is running sbt. I remember it being pretty helpful when I was working with scala.js. Good luck!
  • Friction-less scala - Tell us what is causing friction in your day-to-day life with Scala
    14 projects | /r/scala | 10 Aug 2021
    SBT. It's not because of the pseudo-scala config language, that looks especially alien next to braceless Scala 3 code. Or the weird symbolic operators. The big problem is correctness; in almost every project I've had to use spray-resolver because I've encountered weird bugs because SBT reuses the same dirty JVM. I really thing Drip would help here. I'll keep using SBT because it has the best Scala ecosystem support and great plugins like sbt-crossproject. It would also be great to be able to write build.sbt files in modern, regular Scala.

JMH

Posts with mentions or reviews of JMH. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-26.
  • Scala collections benchmark - revisited
    3 projects | /r/scala | 26 Feb 2023
    Also, it has an amazing SBT plugin integration.
  • Why is Scala so much slower than JavaScript/Node at running iterations?
    1 project | /r/scala | 13 Feb 2022
    Take a look at sbt-jhm for doing benchmarks. Java in particular is hard to measure because of optimizations that happen at run-time. jhm runs multiple iterations and gives tools to ensure that function calls and loops that may be optimized away are kept around and tested. You may also find some cases that are faster in node.js because the Javascript V8 engine is highly optimized.
  • Help with making backtracking more efficient
    1 project | /r/scala | 26 Aug 2021
    Also, if you really want to know what the performance characteristics are you should use JMH (sbt plugin https://github.com/sbt/sbt-jmh). Not sure how you are evaluating the performance but things like JVM startup and warming can make a big difference. JMH will give you a better idea of real world performance when the JVM is already started and any relevant hot code has been JIT compiled.

What are some alternatives?

When comparing sbt-revolver and JMH you can also consider the following projects:

coursier - Pure Scala Artifact Fetching

JITWatch - Log analyser / visualiser for Java HotSpot JIT compiler. Inspect inlining decisions, hot methods, bytecode, and assembly. View results in the JavaFX user interface.

sbt-play-scalajs - SBT plugin to use Scala.js along with any sbt-web server.

honest-profiler - A sampling JVM profiler without the safepoint sample bias

sbt-dependency-graph - sbt plugin to create a dependency graph for your project

Sniffy - Sniffy - interactive profiler, testing and chaos engineering tool for Java

sbt-docker - Create Docker images directly from sbt

LatencyUtils - Utilities for latency measurement and reporting

xsbt-web-plugin - Servlet support for sbt

jHiccup - jHiccup is a non-intrusive instrumentation tool that logs and records platform "hiccups" - including the JVM stalls that often happen when Java applications are executed and/or any OS or hardware platform noise that may cause the running application to not be continuously runnable.

scala-clippy - Good advice for Scala compiler errors

sbt-sonatype - A sbt plugin for publishing Scala/Java projects to the Maven central.