FS2
Gatling
Our great sponsors
FS2 | Gatling | |
---|---|---|
17 | 24 | |
2,311 | 6,231 | |
0.9% | 1.0% | |
9.5 | 9.7 | |
about 20 hours ago | 7 days ago | |
Scala | Scala | |
GNU General Public License v3.0 or later | 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.
FS2
-
Ask HN: What are some of the most elegant codebases in your favorite language?
fs2 (reactive streaming, https://github.com/typelevel/fs2) written in Scala. It shows how nicely things can compose in a typesafe way if the language supports it.
And then, the opposite is Monix (https://monix.io/). It's also about reactive streaming and the API is great, but the inner code is ugly because it sacrifices readability/composability for performance.
-
The Great Concurrency Smackdown: ZIO versus JDK by John A. De Goes
Recently, CE3 has had similar issues reported across multiple repositories, almost an epidemic of reports!
-
Parallel streaming in Haskell: Part 1 – Fast, efficient, and fun
Thanks for the explanation!
So it's pull based and not push based like most other streams lib.
Does maybe someone know how this compares to FS2 or Iteratees than? (Both are also pull based streaming solutions).
https://en.wikipedia.org/wiki/Iteratee
Looks quite similar to me. Is the Scala FS2 lib maybe even a clones of the Haskell solution? Or are they different in important aspects?
-
Grasping the concepts and getting them down to earth
Most important/known: * https://http4s.org/ - an HTTP client/server * https://github.com/typelevel/fs2 - streaming * https://github.com/tpolecat/doobie - JDBC
-
Should I Move From PHP to Node/Express?
On the contrary, switching to the functional mindset, with something like Typelevel Scala3 and respective cats and cats-effect fs2 frameworks, helps to rethink a lot of designs and development approaches.
-
Is Scala a good choice for a data intensive web backend?
fs2 for streaming.
-
ScalablyTyped publishes Scala 3 support
As of very recently, we're using ScalablyTyped in our fs2-io cross build for node. https://github.com/typelevel/fs2/pull/2453
-
Improving akka http code
In that case, it's best to keep different streaming libraries separate, in their own little "worlds". fs2 + cats has Queues for this purpose https://fs2.io/#/concurrency-primitives. Future has the Promise abstraction.
-
Scala 3 is here!
ScalaZ was changed to cats-effect. For streaming, look at fs2. Cats-effect 3 cleans up a lot of the library, but as with any code it can be clean or messy depending on the dev
Gatling
-
What is Load Testing? Complete Tutorial With Best Practices
Gatling: An open-source load and performance testing tool primarily designed for web applications, Gatling utilizes a simple domain-specific language (DSL) for creating and maintaining test scripts. It supports HTTP/2 and allows recording and generation of scenarios directly from a browser. The tool also provides detailed performance reports that are easy to analyze.
-
Best Practices in Testing GraphQL APIs
Performance and load testing are essential parts of GraphQL API testing. It ensures APIs can handle expected traffic volumes and respond within acceptable timeframes. You can use tools like Apache JMeter or Gatling to generate realistic loads and evaluate the API's performance under different scenarios. Techniques like batched queries and caching can help mitigate this issue.
-
Perf/web testing framework similar to locust/gatling for .NET?
New to the .NET community and trying to learn! I have used tools such as Apache JMeter (Java), gatling.io (Java) and Locust (Python) that are decent full featured web perf frameworks. Typically these integrate well with your code, and can be run as part of your unit/integration tests and produce offline reports
-
Optimizing Decision Making with a Trie Tree-Based Rules Engine: An Experience Report
I used SpringBoot 3.0.2, GraalVM 22 (JVM mode), a MacOS 2,6 GHz 6-Core Intel Core i7, running 1000 users for 5 minutes. The idea was to test how memory consumption and CPU usage evolve. Below, I compared the footprint of these three solutions. I collected the total count of requests, throughput, memory consumption, and CPU usage using VisualVM and Gatling.
-
A starting point to debug a Java OutOfMemoryError
Load test your code to simulate a production load (you can use tools like k6 or Gatling)
-
Library for easy implementation of instant load testing
It's read as "Ochikisu" and origin is the machine gun manufacturer Hotchkiss because this tool does not have as much firepower as the Gatling.
-
Load Testing: An Unorthodox Guide
JMeter is old and crusty and not at all friendly to work with. But I used it for years because it was really about the best we had. Today I don't wish it on anyone.
Ruby JMeter finally made JMeter easier to manage, but I haven't worked in a Ruby shop for years, and I'm not going to force everyone to learn Ruby just to do some load testing.
https://github.com/flood-io/ruby-jmeter
Then along came k6. It's developer-friendly and I've seen people actually enjoy using it. I recommend anyone considering JMeter also take a look at k6. They do a better job of selling it than I do:
I am also Gatling-curious. Seems like an option for anyone in the JVM ecosystem.
- Testing NET TCP APIs without Jmeter
-
Load testing workflow for POST API calls
I used to use JMeter, till someone else on the team introduced me to locust, so check that out if you don’t mind doing some python: https://locust.io. There’s also gatling (scala based, but can be generated by a recorder or HAR files), https://gatling.io
What are some alternatives?
Cucumber - Cucumber for the JVM
REST Assured - Java DSL for easy testing of REST services
k6 - A modern load testing tool, using Go and JavaScript - https://k6.io
locust - Write scalable load tests in plain Python 🚗💨
Selenium
WireMock - A tool for mocking HTTP services
Vegeta - HTTP load testing tool and library. It's over 9000!
ScalaMeter - Microbenchmarking and performance regression testing framework for the JVM platform.
cats-effect - The pure asynchronous runtime for Scala
JUnit - A programmer-oriented testing framework for Java.
Apache JMeter - Apache JMeter open-source load testing tool for analyzing and measuring the performance of a variety of services
ScalaTest - A testing tool for Scala and Java developers