the thing with python is that there is a huge difference between fast and slow code. in go, only really slow code is slow, and in rust even slow code is fast.
You shouldn’t blindly trust those numbers. If you actually read the Python code a lot of them use ctypes to just delegate the work to C. It even says that at the bottom of the page.
Seems like they’ve finally started calling these out - search for “contentious” on this page:
Nonsense. You are only “supposed” to do that because if you are using Python and you want performance you have no other choice!
Reminds me of people saying you aren’t “supposed” to store binaries in git - yeah only because git is so bad at it! When we were all using SVN people would have said “you aren’t supposed to have multiple people editing the same file simultaneously” as if it were a fundamental truth.
And Python isn’t “a glue language”. It’s often used like that but there are many many pure Python projects.
but like, most of the standard library is written in c. most popular libraries are written in c. they’re built that way because python is a flexible way to glue functionality together. that’s the point of python: it’s easy. if i want performance, i port part of the logic to a compiled language. but most of the time that’s not necessary.
just like how with git, we have lfs. we build what we need when we need it. i don’t understand your tone here.
they’re built that way because python is a flexible way to glue functionality together
Lol no. They’re built that way because it’s fast! Can you imagine how slow Python would be if it was self hosted? Actually I bet someone has tried that…
Yep - go and benchmark that and get back to me in a few days when it’s finished running hello world, lol.
just like how with git, we have lfs
Have you ever actually used LFS? It’s a pretty terrible experience.
It’s frustrating when people make excuses for problems - even saying that there isn’t a problem. Like, if everyone was saying “I like Python even though it is extraordinarily slow and will never be fast, which is a shame”… That’s fine. Saying “Python isn’t supposed to be fast and you shouldn’t want that” is delusional.
It’s not just Python where this phenomenon happens - I gave the example of Git (“you shouldn’t want to version control binaries so the fact that Git sucks at it isn’t really a problem at all!”). Another common one is distributing binaries on Linux - you shouldn’t want to do that so it doesn’t matter that it’s a pain in the bum.
when the hell did i say python is supposed to be slow? i just said it’s supposed to be used as a high-level glue to hold low-level things together. different tools have different uses. you’re complaining that a saw is a bad hammer.
Nonsense. You are only “supposed” to do that because if you are using Python and you want performance you have no other choice!
Reminds me of people saying you aren’t “supposed” to store binaries in git - yeah only because git is so bad at it! When we were all using SVN people would have said “you aren’t supposed to have multiple people editing the same file simultaneously” as if it were a fundamental truth.
And Python isn’t “a glue language”. It’s often used like that but there are many many pure Python projects.
not exactly: https://benchmarksgame-team.pages.debian.net/benchmarksgame/box-plot-summary-charts.html tl;dr it can be true, but not necessarily. fast python code is on the magnitude of 1/5th the speed of go.
the thing with python is that there is a huge difference between fast and slow code. in go, only really slow code is slow, and in rust even slow code is fast.
You shouldn’t blindly trust those numbers. If you actually read the Python code a lot of them use
ctypes
to just delegate the work to C. It even says that at the bottom of the page.Seems like they’ve finally started calling these out - search for “contentious” on this page:
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/python3-go.html
i mean, that’s what you’re supposed to do. python is a glue language, after all.
Nonsense. You are only “supposed” to do that because if you are using Python and you want performance you have no other choice!
Reminds me of people saying you aren’t “supposed” to store binaries in git - yeah only because git is so bad at it! When we were all using SVN people would have said “you aren’t supposed to have multiple people editing the same file simultaneously” as if it were a fundamental truth.
And Python isn’t “a glue language”. It’s often used like that but there are many many pure Python projects.
but like, most of the standard library is written in c. most popular libraries are written in c. they’re built that way because python is a flexible way to glue functionality together. that’s the point of python: it’s easy. if i want performance, i port part of the logic to a compiled language. but most of the time that’s not necessary.
just like how with git, we have lfs. we build what we need when we need it. i don’t understand your tone here.
Lol no. They’re built that way because it’s fast! Can you imagine how slow Python would be if it was self hosted? Actually I bet someone has tried that…
Yep - go and benchmark that and get back to me in a few days when it’s finished running hello world, lol.
Have you ever actually used LFS? It’s a pretty terrible experience.
why are you so combative?
It’s frustrating when people make excuses for problems - even saying that there isn’t a problem. Like, if everyone was saying “I like Python even though it is extraordinarily slow and will never be fast, which is a shame”… That’s fine. Saying “Python isn’t supposed to be fast and you shouldn’t want that” is delusional.
It’s not just Python where this phenomenon happens - I gave the example of Git (“you shouldn’t want to version control binaries so the fact that Git sucks at it isn’t really a problem at all!”). Another common one is distributing binaries on Linux - you shouldn’t want to do that so it doesn’t matter that it’s a pain in the bum.
Pet peeve I guess.
when the hell did i say python is supposed to be slow? i just said it’s supposed to be used as a high-level glue to hold low-level things together. different tools have different uses. you’re complaining that a saw is a bad hammer.
Nonsense. You are only “supposed” to do that because if you are using Python and you want performance you have no other choice!
Reminds me of people saying you aren’t “supposed” to store binaries in git - yeah only because git is so bad at it! When we were all using SVN people would have said “you aren’t supposed to have multiple people editing the same file simultaneously” as if it were a fundamental truth.
And Python isn’t “a glue language”. It’s often used like that but there are many many pure Python projects.