Hacker News new | ask | show | jobs
by phoe-krk 1085 days ago
> Show HN: Python can make 3M+ WebSocket keys per second

> This article is about optimizing a tiny bit of Python code by replacing it with its C++ counterpart.

So it's C++ rather than Python.

4 comments

The article was posted by "cprogrammer1994", that should've been a hint!
The first "C" stands for "Cython".

/s

C stands for, well, C :) also, I do not use Cython.
Yes, that's one of the ways one is supposed to optimize Python. Writing a tiny performance-sensitive part of a Python app in C/C++ is a possibility that many people do not think about when they decide they are going to develop the whole app in C/C++ and can be a much a smarter choice.
In a way, but at this point your stack is Python/C++, where Python serves the role of a high-level language and C++ serves the role of the fast one. You're not optimizing Python-as-a-language at that point; you're FFIing to another codebase written in a different language.

So, if anything, the title should say "Python, when linked with C++ code, can make (...)"

It’s cool that languages support this kind of stuff.

So if you’re writing python the employs this technique and you still want to keep the “OS agnostic” characteristic of python does that mean you’d have to compile multiple C++ binaries and check the OS to see which one to run?

Yes, though hopefully it's been packaged up by the distro otherwise you'll end up having dependency problems if you compiled against a wrong libc or something else.
Alternatively, you could compile the C++ (or rust or zig) to WebAssembly, and a single binary would run anywhere.
Thanks for this. This is something I wouldn’t have considered.
WWouldn't you lose some of the performance benefit?
Bingo.