gnet VS typedload

Compare gnet vs typedload and see what are their differences.

gnet

🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet 是一个高性能、轻量级、非阻塞的事件驱动 Go 网络框架。 (by panjf2000)

typedload

Python library to load dynamically typed data into statically typed data structures (by ltworf)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
gnet typedload
6 5
8,823 252
- -
8.4 8.0
about 21 hours ago 2 days ago
Go Python
Apache License 2.0 GNU General Public License v3.0 or later
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.

gnet

Posts with mentions or reviews of gnet. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-14.

typedload

Posts with mentions or reviews of typedload. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-06.
  • Show HN: Up to 100x Faster FastAPI with simdjson and io_uring on Linux 5.19
    20 projects | news.ycombinator.com | 6 Mar 2023
    Author of typedload here!

    FastAPI relies on (not so fast) pydantic, which is one of the slowest libraries in that category.

    Don't expect to find such benchmarks on the pydantic documentation itself, but the competing libraries will have them.

    [0] https://ltworf.github.io/typedload/

  • Pydantic vs Protobuf vs Namedtuples vs Dataclasses
    4 projects | /r/Python | 25 Feb 2023
    I wrote typedload, which is significantly faster than pydantic. Just uses normal dataclasses/attrs/NamedTuple, has a better API and is pure Python!
  • Informatica serve a qualcosa?
    1 project | /r/Universitaly | 4 Feb 2023
  • Show HN: Python framework is faster than Golang Fiber
    19 projects | news.ycombinator.com | 10 Jan 2023
    I read all the perftests in the repo. I think they nearly all parse a structure that contains a repetition of the same or similar thing a couple hundred thousand times times and the timing function returns the min and max of 5 attempts. I just picked one example for posting.

    Not a Python expert, but could the Pydantic tests be possibly not realistic and/or misleading because they are using kwargs in __init__ [1] to parse the object instead of calling the parse_obj class method [2]? According to some PEPs [3], isn't Python creating a new dictionary for that parameter which would be included in the timing? That would be unfortunate if that accounted for the difference.

    Something else I think about is if a performance test doesn't produce a side effect that is checked, a smart compiler or runtime could optimize the whole benchmark away. Or too easy for the CPU to do branch prediction, etc. I think I recall that happening to me in Java in the past, but probably not happened here in Python.

    [1] https://github.com/ltworf/typedload/blob/37c72837e0a8fd5f350...

    [2] https://docs.pydantic.dev/usage/models/#helper-functions

    [3] https://peps.python.org/pep-0692/

What are some alternatives?

When comparing gnet and typedload you can also consider the following projects:

fasthttp - Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http

codon - A high-performance, zero-overhead, extensible Python compiler using LLVM

netpoll - A high-performance non-blocking I/O networking framework focusing on RPC scenarios.

ustore - Multi-Modal Database replacing MongoDB, Neo4J, and Elastic with 1 faster ACID solution, with NetworkX and Pandas interfaces, and bindings for C 99, C++ 17, Python 3, Java, GoLang 🗄️

gev - 🚀Gev is a lightweight, fast non-blocking TCP network library / websocket server based on Reactor mode. Support custom protocols to quickly and easily build high-performance servers.

pydantic-core - Core validation logic for pydantic written in rust

evio - Fast event-loop networking for Go

peps - Python Enhancement Proposals

gaio - High performance async-io(proactor) networking for Golang。golangのための高性能非同期io(proactor)ネットワーキング

msgspec - A fast serialization and validation library, with builtin support for JSON, MessagePack, YAML, and TOML

nbio - Pure Go 1000k+ connections solution, support tls/http1.x/websocket and basically compatible with net/http, with high-performance and low memory cost, non-blocking, event-driven, easy-to-use.

koda-validate - Typesafe, Composable Validation