mypy VS FrameworkBenchmarks

Compare mypy vs FrameworkBenchmarks and see what are their differences.

Our great sponsors
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
  • Scout APM - A developer's best friend. Try free for 14-days
  • SaaSHub - Software Alternatives and Reviews
mypy FrameworkBenchmarks
37 168
11,914 6,132
2.3% 0.9%
9.6 9.5
4 days ago 2 days ago
Python Java
GNU General Public License v3.0 or later 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.

mypy

Posts with mentions or reviews of mypy. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-30.
  • mypy alternatives - pytype and pyright
    3 projects | 30 Oct 2021
  • How to fix mypy warning for this function
    2 projects | reddit.com/r/learnpython | 26 Oct 2021
    For your interest, this indeed was unintended behaviour on the part of `mypy`. It has since been fixed, apparently: https://github.com/python/mypy/pull/11153
    2 projects | reddit.com/r/learnpython | 26 Oct 2021
    Just created a bug report for this. https://github.com/python/mypy/issues/11390
  • Setup development environment
    4 projects | dev.to | 17 Oct 2021
    6. Add Mypy to the virtual environment. Mypy is a static type checker for Python.
  • Do You Miss Strongly-Typed World When Coding in Python? [RE#8]
    1 project | dev.to | 8 Oct 2021
    JavaScript people are lucky to have the well-known TypeScript at hand. For Python developers a good solution is mypy which is maintained by the official Python community: python/mypy. You can simply install it via:
  • Faster Python with Guido van Rossum
    11 projects | news.ycombinator.com | 7 Oct 2021
    I am seeing what the GP comment says in a codebase I manage, around 47k LOC. Not massive at all, but enough where the problems mentioned above start to pop up. This is an application that runs in servers to analyze traffic data, so it has both analysis code and also a lot of code for the analysis framework. It gets hard to manage. I have unit tests and also integration tests that cover some, but not all of the code paths (it's very hard in this case to have everything covered). Most of the times, when they fail is due to something that would have been caught by static typing.

    The codebase is being slowly migrated to static typing. On one hand, as the parent says, the typing module is still immature and there are still some Python constructs (not too weird ones, see [1] for an example) that you can't type-check correctly. On the other hand, I like the fact that you can include typing slowly and not all at once, it makes the effort much easier to tackle. And, if typing works, it works well.

    Regarding performance, well. Parallelism is pretty hard to do well, and the language itself is not the fastest thing. Some parts are migrated to a C extension but that's costly in terms of development and debugging time.

    Despite all of that, I do think that Python was the best choice for our situation, and still is. Maybe from this point onwards another language would make things easier, but without Python's library support, ease and speed of development and expressiveness the cost of just getting to market would have been far higher, and probably we wouldn't have reached this point with other languages. And migrating the codebase to another language is just not worth it at all, as there are still a lot of areas we can improve quite a lot with far less effort than a full rewrite.

    1: https://github.com/python/mypy/issues/2756#issuecomment-8772...

  • GitHub - facebookexperimental/skybison: Instagram's experimental performance oriented greenfield implementation of Python.
    2 projects | reddit.com/r/programming | 18 Sep 2021
    I don't know where you're getting your information, they did implement it. It's possible you're thinking of this issue which would make the typing more precise and let you specify totally different types for different keys. For now though any of the 4 ways I gave works.
  • Typehinting a dictionary that maps events to event handlers
    2 projects | reddit.com/r/learnpython | 9 Jul 2021
    I don't think it will be as easy as you're hoping, I think this is basically the same thing you're trying to do: https://github.com/python/mypy/issues/4928
    2 projects | reddit.com/r/learnpython | 9 Jul 2021
  • Typeclasses in Python
    1 project | reddit.com/r/programming | 30 Jun 2021
    Support for singledispatch was recently added to mypy: https://github.com/python/mypy/commit/c3ca0d69659b941fc6b425dd3563cae11454baac

FrameworkBenchmarks

Posts with mentions or reviews of FrameworkBenchmarks. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-12-02.
  • How is node compared to other backend tech?
    3 projects | reddit.com/r/node | 2 Dec 2021
    I have to disagree, according to this benchmark https://www.techempower.com/benchmarks/ express and fastify are much faster than flask, django and other popular python-based solutions. Also python's scalability is based upon running n python instances which you can also do with nodejs.
  • Fleet, a Lightweight IDE from JetBrains
    8 projects | news.ycombinator.com | 29 Nov 2021
    I wish there was benchmarks for IDEs/editors, just like there are benchmarks for web frameworks (https://www.techempower.com/benchmarks/ https://web-frameworks-benchmark.netlify.app/).

    For instance, given the same simple Java program/project:

    1. Clock time from selecting "Run" in the IDE to first line written to stdout (to measure startup time)

  • Django 4.0 release candidate 1 released
    11 projects | news.ycombinator.com | 22 Nov 2021
    Interesting, those results are the opposite of the techempower frameworks, which find that the async frameworks are always faster: https://www.techempower.com/benchmarks/#section=data-r20&hw=.... Though in general I'm not sure about the value of bringing async to Django. If you want more performance, you can already either throw more machines at it, or isolate some part in a service that can be written with FastAPI/Go/something. Async in general makes the code more complex and harder to write, which seems to be the opposite of what Django is for.
  • .NET 6 vs. .NET 5: up to 40% speedup
    15 projects | news.ycombinator.com | 21 Nov 2021
    It’s not the same, but there is this well-known framework benchmark [0], it always had the .net frameworks close to the top.

    I’m guessing a lot of the speedups come from getting rid of legacy cruft. With .net core/.NET 5/6 they got rid of a lot of things compared to .NET Framework 4.8 and could play with optimizations that simply weren’t doable before. That’s just me guessing, though ;)

    [0]: https://www.techempower.com/benchmarks/

    15 projects | news.ycombinator.com | 21 Nov 2021
    > .NET has been faster than Java on most of the benchmarkgame benchmarks for a while, since .net core 3 or so.

    And which benchmarks games are those? If I go to to the Techempower benchmark and select only C# + Java. Java comes on top in every individual category of all the benchmarks.

    [1] https://www.techempower.com/benchmarks/#section=data-r18&hw=...

    15 projects | news.ycombinator.com | 21 Nov 2021
    That seems a bit misleading of a comparison IMO and only one case (JSON serialisation) when I look at their data. It's also showing a lot of frameworks that are not that mature and not well used in the Java camp vs ASP.NET that is widely used, full featured, has a lot of bells and whistles and a lot of plugins available for most technologies and standards. All of which could have negatively influenced performance, even the hooks to allow them to be injected in can do so even if not enabled. The fact that a full featured web framework makes it to the top over several rounds I can't discount as pretty good.

    https://www.techempower.com/benchmarks/#section=data-r20&hw=...

    My personal experience having worked on both platforms for several years is that Java is easier to get to an acceptable performance, but the .NET runtime when you have to put the effort in has a higher bound of performance. It just has more tools in the CLR to work with than the JVM (e.g. value types, proper generics, spans, and more). With .NET Core and future versions I think .NET is also taking up Java's default perf area as well.

    15 projects | news.ycombinator.com | 21 Nov 2021
    What would be representation of some real work scenarios? I think their test suite covers wide spectrum of operations enough so to be able to draw conclusions from them.

    https://github.com/TechEmpower/FrameworkBenchmarks/wiki/Proj...

    15 projects | news.ycombinator.com | 21 Nov 2021
    You're looking at pretty old results, round 18 was in 2019. I also don't think that boutique web frameworks say much about the strength of the underlying language or runtime (e.g. look at just.js).

    What in the Java world is in the same maturity tier as ASP.NET is open to opinion, but at least local Java devs seem to consider Spring or Micronaut as sane defaults, and of course modern ASP.NET runs circles around those.

    https://www.techempower.com/benchmarks/#section=test&runid=9...

  • Standing up a database driven app
    1 project | reddit.com/r/webdev | 20 Nov 2021
  • Boss Says Is Golang losing popularity. True?
    6 projects | reddit.com/r/golang | 18 Nov 2021
    If we're talking web performance I'll just go ahead and drop this here https://www.techempower.com/benchmarks/ and with .net 6 it's 20% faster than what it was here now.

What are some alternatives?

When comparing mypy and FrameworkBenchmarks you can also consider the following projects:

PythonBuddy - 1st Online Python Editor With Live Syntax Checking and Execution

black - The uncompromising Python code formatter

Flake8 - flake8 is a python tool that glues together pycodestyle, pyflakes, mccabe, and third-party plugins to check the style and quality of some python code.

typing - Python static typing home. Contains the source for typing_extensions and the documentation. Also hosts a user help forum.

LiteNetLib - Lite reliable UDP library for Mono and .NET

flake8

bandit - Bandit is a tool designed to find common security issues in Python code.

fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production

pylama - Code audit tool for python.

SQLBoiler - Generate a Go ORM tailored to your database schema.

Jooby - The modular web framework for Java and Kotlin