Announcement

Collapse
No announcement yet.

Python 3.11 Performance Benchmarks Are Looking Fantastic

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    They have a dedicated page to track performance changes now: https://speed.python.org/

    AFAIK the current plan is to have up to 5x improvement by 3.12 utilizing JIT.

    Comment


    • #22
      Originally posted by marios View Post
      Dear python,
      you are a slow scripting language. You are only getting improvements in performance because your baseline sucks. You are not fast. You will never be fast. You are suboptimal by design. Now do something useful and try to persuade anyone who cares about performance to use a compiled language instead of slow scripting languages. And stop trying to be fast, you will never be. Any attempt to optimise something suboptimal by design will result in something suboptimal by design. Accept your fate at last and stop tormenting us.
      Switches to Java, making everyone cry.


      Comment


      • #23
        Originally posted by marios View Post

        The problem is that it will never be fast enough. It will always be orders of magnitude slower than C, C++, Rust etc. So the effort should go to porting python applications that suffer from poor performance to compiled languages instead.
        Extraordinary claims or calls to action require extraordinary evidence in direct on-point-for-point in support of one's claims. You've not given any. And no hand waving "it's common sense" doesn't cut it. The amount of effort required to port from interpreted languages to compiled languages is enormous given the volume of code out there and not all of it is performance sensitive - and in some cases even that which is - may be performance sensitive without being speed of execution sensitive. If you want people to take you seriously, you have to be specific, do the analysis and support your case that porting X from language Q to language R has a cost benefit because of A, B, and/or C. Right now you're the bear that craps in the woods - no one cares unless they step in it.

        Comment


        • #24
          Originally posted by marios View Post
          The problem is that it will never be fast enough. It will always be orders of magnitude slower than C, C++, Rust etc. So the effort should go to porting python applications that suffer from poor performance to compiled languages instead.
          You clearly don't understand the purpose and benefits of Python. While Python doesn't necessarily have to be as slow as it has been (hence the alternative interpreters that perform better, like jython or pypy), interpreted languages exist specifically so you don't have to compile anything, which has a slew of benefits. Python is also simpler to get from point A to B than most languages while being flexible enough to satisfy most modern needs, albeit, more slowly.

          As others have pointed out or alluded to, most use-cases for Python don't require much performance.

          Comment


          • #25
            Anything that makes RustPython look even more stupid is a win.

            Comment


            • #26
              Python is alright, but it has greater problems than performance. It is an okay language for tinkers, students and non-developers who want to do programming such as biologists, mathematicians, etc but isn't good for developers.
              • It uses the Python Software Foundation License which is a vanity license instead of an established license such as the MIT, BSD, Apache or LGPL.
              • There is no option to restrict file or network access which makes it unsuitable for embedding as a scripting language. Even cleaning "import os" from the abstract syntax tree does not prevent other modules from accessing the file system.
              • You have to declare every method with a "self" parameter which feels quite redundant, like boilerplate code, and you must never forget it.
              • Classes can have static fields but there is no syntax for it that makes it clear, it depends on if you call self.foo in your __init__ method, so it's easy to get confused about if you take a month's break from Python.
              • There is no asynchronous HTTP client included, you have to rely on third-party packages, in JavaScript and and other languages, this is included by default.
              • Typing is tacked on in a tacky, half-assed way, and neither Python or it's community has embraced it. Until recently you had to do Union[Foo, Union[Bar, Baz]] instead of Foo | Bar | Baz like you could do in TypeScript. The built-in modules that come with Python aren't typed. Things like collections and dictionaries are difficult to type in Python because you have to type them differently depending on if they're parameters or return types. Basically typing in Python is shit.
              • The syntax for lambdas is verbose and nobody uses lambdas in Python.
              • There is no standard way to document Python code. Python itself isn't even internally consistent. Some parts of the community use reStructuredText which is something only known to the Python, that nobody outside heard about or cares about. Some parts of the community use Markdown or something that resembles JavaDoc or JSDoc.
              • It has the "walrus operator" which nobody outside of the Python community knows, and since the language targets non-developers it's even more confusing when they muddy the syntax with unnecessary things people don't understand, need or care about.
              • To me it feels like the Python developers added the match statement just because they saw it was popular in other languages. I absolutely love the match statement in Rust and consider it a killer feature, but I don't see any value for it in Python due to it's loosely typed nature and poor support for type hinting.
              • You cannot use this language on Android or iOS.

              Comment


              • #27
                Originally posted by marios View Post
                Dear python,
                you are a slow scripting language. You are only getting improvements in performance because your baseline sucks. You are not fast. You will never be fast. You are suboptimal by design. Now do something useful and try to persuade anyone who cares about performance to use a compiled language instead of slow scripting languages. And stop trying to be fast, you will never be. Any attempt to optimise something suboptimal by design will result in something suboptimal by design. Accept your fate at last and stop tormenting us.
                You do realize that most high performance Python packages use compiled languages for heavy lifting, right?

                Also, performance depends on the project. Usually development speed is much more valuable than execution speed.

                Last but not least, let's assume that profiling highlights a few hot spots that need optimization, there are various tools to speed up Python

                Comment


                • #28
                  uid313

                  Your post seems about stuff you don't like rather than actual issues.
                  Please tell us what Real developers™ use (or should use)

                  Comment


                  • #29
                    Originally posted by JackLilhammers View Post
                    uid313

                    Your post seems about stuff you don't like rather than actual issues.
                    He posts the same stuff over and over again in every Python thread.

                    Comment


                    • #30
                      Originally posted by JackLilhammers View Post
                      uid313Your post seems about stuff you don't like rather than actual issues.
                      Your post seems to be about stuff other people write and who you don't like than actual issues. At least he is being informative, while you are just being a narcissist.

                      +1 uid313

                      Comment

                      Working...
                      X