Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
µPickle
uPickle: a simple, fast, dependency-free JSON & Binary (MessagePack) serialization library for Scala
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Nowadays, I reached out for some benchmark results. Scala is slower than Java and Kotlin. Can you explain it? https://github.com/losvedir/transit-lang-cmp https://github.com/kostya/benchmarks
Nowadays, I reached out for some benchmark results. Scala is slower than Java and Kotlin. Can you explain it? https://github.com/losvedir/transit-lang-cmp https://github.com/kostya/benchmarks
There are gRPC benchmarks, for example, where difference between Scala and Java is either negligible or Scala is "better": https://github.com/LesnyRumcajs/grpc_bench/discussions/284
The upickle library has traditionally had great performance for handling json in Scala apps so is likely to be seen as a safe choice for someone starting a Scala project. It appears though that not just upickle, but other json library projects are having difficulties maintaining their old level of performance when they release using Scala 3's macros. uPickle currently has an open issue where you can see some of these issues: https://github.com/com-lihaoyi/upickle/issues/389 and here you can see the weePickle folks are also having the same performance problems. Looks like things changed up significantly enough between Scala 2 and Scala 3 so that in order to maintain the same functionality they have resorted to using runtime reflection for mapping to/from case classes.
You can use jsoniter-scala. It is easy to use like upickle.