Python 3.13 Aiming For More Performance

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • phoronix
    Administrator
    • Jan 2007
    • 67141

    Python 3.13 Aiming For More Performance

    Phoronix: Python 3.13 Aiming For More Performance

    Python 3.12 isn't even being released until October and Python 3.13 won't be out until H2'2024, but already the developers working on tuning CPython performance are aiming to make more enhancements this next development cycle...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite
  • uid313
    Senior Member
    • Dec 2011
    • 6915

    #2
    Great for hyperscalers and AI but for applications (such as GIMP or Blender) that wish to integrate a scripting language, Python sucks because it cannot be sandboxed, you cannot limit anything, when you give load Python you give any script access to the entire system and everything in the application.

    Extra performance is great for the big companies and AI people, but for normal programmers and tinkerers it is fast already fast enough, the shortcomings are others such as no async HTTP client in the standard library, and async is unnecessary difficult, you cannot just await at the top-level, you must first pick an async executor.

    Comment

    • sbivol
      Junior Member
      • Apr 2016
      • 26

      #3
      Originally posted by uid313 View Post
      Great for hyperscalers and AI but for applications (such as GIMP or Blender) that wish to integrate a scripting language, Python sucks because it cannot be sandboxed, you cannot limit anything
      Is CPython what's being embedded into Blender? Even if it was – Blender can compile out whatever functionality is not desired.
      If you're running applications outside a sandbox then you're doing it wrong to begin with, Python can't help with this.
      Also, you're confusing Python and CPython.

      Extra performance is great for the big companies and AI people, but for normal programmers and tinkerers it is fast already fast enough
      I will take the extra performance, thank you very much.

      Comment

      • fitzie
        Senior Member
        • May 2012
        • 672

        #4
        Originally posted by sbivol View Post
        Is CPython what's being embedded into Blender? Even if it was – Blender can compile out whatever functionality is not desired.
        If you're running applications outside a sandbox then you're doing it wrong to begin with, Python can't help with this.
        Also, you're confusing Python and CPython.
        I think the use case for a plugin safe sandbox, is to say that a plugin can only call some approved functions within a limited api, kinda like how in chrome/firefox you give them do very limited things, even within a sandboxed environment. I think the future of that would be something like wasm, where application authors don't need to worry about what language the plugin is written in.

        Comment

        • fitzie
          Senior Member
          • May 2012
          • 672

          #5
          Originally posted by uid313 View Post
          Great for hyperscalers and AI but for applications (such as GIMP or Blender) that wish to integrate a scripting language, Python sucks because it cannot be sandboxed, you cannot limit anything, when you give load Python you give any script access to the entire system and everything in the application.

          Extra performance is great for the big companies and AI people, but for normal programmers and tinkerers it is fast already fast enough, the shortcomings are others such as no async HTTP client in the standard library, and async is unnecessary difficult, you cannot just await at the top-level, you must first pick an async executor.
          I tend to agree that one of the nice things about python is that the standard library is complete, for most scripts one would write. as for writing serious applications, using external packages is a must. my biggest issue with asyncio is not that you need to add one line of code, it's that it's really hard to write a library that's both async and non-async friendly. I miss the old days where you can use gevent and which would just patch the functions to become magically concurrent.

          as for performance, the AI guys are doing most of their work in c++ and just wrapping it together with python. Python has major limitations to its performance *gil*, and they had just given up on all the low hanging fruit outside of the gil. It's important that they are doing all this work as it makes life just a bit better for all python programmers and users. Of course, python community will soon have to reckon with mojo which could come in like a wrecking ball.

          Comment

          • Turbine
            Senior Member
            • Sep 2012
            • 121

            #6
            It's just a shame this language is so poorly designed.

            I have to use Python at work. But for everything else I use JavaScript/Node. Using Python is quite painful at times. Especially for large projects.

            Comment

            • uid313
              Senior Member
              • Dec 2011
              • 6915

              #7
              Originally posted by Turbine View Post
              It's just a shame this language is so poorly designed.

              I have to use Python at work. But for everything else I use JavaScript/Node. Using Python is quite painful at times. Especially for large projects.
              Which parts of it do you find poorly designed?

              I like Python for small scripts, and there are things that I like about Python, it is neat for prototype, algorithms and as pseudocode, but I would hate to use it for large projects.

              I think the the type hinting is confusing, and the distincion between class instance fields and static fields aren't obvious, and don't like that there is no async HTTP client in the standard library, doing async things is more complicated than it needs to be, it is much easier in C# and JavaScript, and I don't like that the standard JSON module cannot deserialize JSON into a class.

              Comment

              Working...
              X