|
|
|
|
|
by framecowbird
2045 days ago
|
|
But isn't this exactly what the author is demonstrating? You can use the higher language of Python with its garbage collection, and since the critical parts are in C anyway, it ends up being competitive to the pure C implementation. |
|
Right, so let me get this straight, the argument is:
You can implement an arbitrary system in python and it is 'fast enough' to be usable and 'better' in terms of 1) speed to develop, 2) lower complexity (ie. lower LoC, easier to maintain) and 3) the garbage collection doesn't matter?
I strongly disagree.
I've worked in python for a long time, and it's a great glue language... but, it's not suitable for implementing high performance systems. Flat out.
Not. Suitable.
If the system you're developing is a mild variant on 1) something that already exists and 2) is implemented in a lower level language, then yes, python is a reasonable glue language to link together native modules.
That's why many of the machine learning frameworks use python; because it's great at allowing you to express 'high level concepts' using low level primitives.
However.
It is not suitable for implementing low level primitives; because its too slow and single threaded.
So... you might argue that this redis implementation uses enough pre-existing code that someone else has written that it is reasonably performant, but... once you go beyond the 'trivial' implementation that uses someone else code, you'll find it's really not suitable for this kind of use-case.
I love python; but this is... it's just wishful thinking.
Just because you like python, does not make python suitable for every workload.