laarctags | new | comments | ask | show | place | submitlogin
Pydis: A redis clone in Python 3 to disprove some falsehoods about performance. (
3 points by yumaikas to news on March 2, 2019 | 2 comments

This is a good data point, a lot of our beliefs about software are based on "educated guesses" (translation we just have no clue and make everything up).

redis is 100,000 lines of .c code plus 50,000 lines of deps (jemalloc mostly, and lua, and then linenoise which is tiny). It runs (roughly) 2x the speed of pydis.

pydis is 250 lines of .py which is very impressive.. but it runs on top of python which is 400,000 lines of .c code and 777,460 lines of .py

I would like to see the kind of performance a golang implementation in roughly 250 lines would get. How close to 1.0x performance might it achieve?


> Below you will find a Redis clone, pydis, written in < 250 lines of idiomatic Python code, providing a subset of redis' functionality for which there are official benchmarks.

> Briefly, pydis is ~60% as fast as Redis measured in number operations per second.

In otherwords it's 40% slower than Redis and doesn't need to account for probably half of the things redis needs to account for.

> pydis is an experiment to disprove some of the falsehoods about performance and optimisation regarding software and interpreted languages in particular.

I don't think the results of this experiment proves anything accept that interpreted code will always be somewhat slower, which is pretty obvious.


Welcome | Guidelines | Bookmarklet | Feature Requests | Source | API | Contact | Twitter | Lists

RSS (stories) | RSS (comments)