µPickle VS transit-lang-cmp

Compare µPickle vs transit-lang-cmp and see what are their differences.

µPickle

uPickle: a simple, fast, dependency-free JSON & Binary (MessagePack) serialization library for Scala (by lihaoyi)

transit-lang-cmp

Programming language comparison by reimplementing the same transit data app (by losvedir)
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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
µPickle transit-lang-cmp
4 15
693 421
0.3% -
6.7 0.0
10 days ago 6 months ago
Scala Elixir
MIT License MIT License
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.

µPickle

Posts with mentions or reviews of µPickle. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-22.
  • Why does Scala seem to be slow at benchmark results?
    6 projects | /r/scala | 22 Oct 2022
    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.
  • Preparing for uPickle 2.0.0
    1 project | /r/scala | 6 Mar 2022
  • Updated benchmark results of JSON parsers for Scala - now with results for circe and play-json boosters based on jsoniter-scala.
    3 projects | /r/scala | 25 Jan 2022
    See here for sample code size numbers (not picking on upickle specifically, it's just what I'm using myself. I've heard similar reports about e.g. circe)
  • [help] Trouble with derivation and generics
    1 project | /r/scala | 5 Jun 2021
    A good starting point is the note in MacroImplicits.scala in upickle sources. "derives Writer" for a specific case class Foo simply adds a given Writer[Foo] to a companion object of the same specific class. However, this cannot be done automatically for a trait defining sum type - in this case trait Thing. The required given must be defined manually, and the ones automatically obtained for case classes can be used in it.

transit-lang-cmp

Posts with mentions or reviews of transit-lang-cmp. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-23.
  • Migrating from Warp to Axum
    4 projects | news.ycombinator.com | 23 Nov 2022
    > The axum::debug_handler macro is invaluable to debug type errors (there's some with axum too), like for example, accidentally having a non-Send type slip in.

    Heh, yeah. For my recent project where I explored implementing the same little app in a few different languages[0], I chose Axum for the rust version.

    The whole "extractor" system was pretty magical, and when I had this exact issue (non-Send argument), the compiler error was totally useless. I did see the docs about adding this extra macro crate for error messages but it seemed like a bit of a red flag that the framework was going against the grain of the language. Still, on the whole, I did enjoy working with Axum.

    [0] https://github.com/losvedir/transit-lang-cmp

  • Transit: A Code Comparison
    1 project | /r/elixir | 23 Oct 2022
  • Programming language comparison by reimplementing the same transit data app
    1 project | /r/patient_hackernews | 23 Oct 2022
    1 project | /r/hackernews | 23 Oct 2022
    1 project | /r/hypeurls | 23 Oct 2022
    6 projects | news.ycombinator.com | 23 Oct 2022
    This is great! Just pushed up a commit that uses it and updated the benchmarks[0]. I'm seeing a 1.6X - 2X improvement in overall performance. Not bad for a drop-in replacement. And since it's based on serde, I trust it, and I feel like trying out a different JSON library is within scope for me of not just "gaming the benchmarks", as this is actually something I'd now consider using at work.

    It's not quite as high as I was seeing with `jiffy` (3,800 req/sec here vs 4,000+ with jiffy), but I'm not confident that was a totally fair comparison. `jiffy` doesn't integrate as nicely with Phoenix, so I was just calling `:jiffy.encode(...)` in the controller and then doing a `text(...)` response. I need to double-check if `json(...)` is doing more work here.

    [0] https://github.com/losvedir/transit-lang-cmp/commit/140d693b...

  • Why does Scala seem to be slow at benchmark results?
    6 projects | /r/scala | 22 Oct 2022
    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
  • Why is C#/dotnet outperforming rust in my simple benchmarks?
    6 projects | /r/rust | 21 Oct 2022
    I had a chance to update the Go code (commit) to pre-allocate the arrays based on the known length before all the appends, and saw ~30% increase in performance, with top requests per second going from about 8,600 to 11,000.
  • The RedMonk Programming Language Rankings: June 2022
    1 project | /r/programming | 21 Oct 2022
    I recently did a little project to compare several languages (https://github.com/losvedir/transit-lang-cmp) so I contributed to a bunch of those points!
  • Show HN: An informal comparison of several programming languages
    1 project | news.ycombinator.com | 21 Oct 2022

What are some alternatives?

When comparing µPickle and transit-lang-cmp you can also consider the following projects:

ScalaPB - Protocol buffer compiler for Scala.

scotty - Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp (Official Repository)

msgpack - MessagePack serializer implementation for Scala / msgpack.org[Scala]

tapir - Declarative, type-safe web endpoints library

Pickling

plainchant - plainchant - a lightweight and libre imageboard

scodec - Scala combinator library for working with binary data

template_rust_web_api

Scrooge - A Thrift parser/generator

hashbrown - Rust port of Google's SwissTable hash map

validation

deno_std - deno standard modules