Announcement

Collapse
No announcement yet.

Python 3.13 Beta 2 Released For Testing The Experimental JIT & Other New Features

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

  • Python 3.13 Beta 2 Released For Testing The Experimental JIT & Other New Features

    Phoronix: Python 3.13 Beta 2 Released For Testing The Experimental JIT & Other New Features

    The second beta is now available for testing of the upcoming Python 3.13 release that is bringing an experimental JIT, a new interactive interpreter, and other big features for this annual Python feature release...

    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

  • #2
    Python is "fast enough" for me, but I think it has other problems:
    • The standard library isn't even typed or only small parts of it.
    • Stupid PSF License instead of MIT License. (unsuitable for embedding)
    • No sandbox mode. (unsuitable for embedding)
    • async is cumbersome (you need to setup an executor before you can do await)
    • Cannot deserialize JSON to class (I know there are third-party modules and some kind of dictionary trick but it should be easier)
    • No good built-in HTTP client (urllib sucks, I know there are third-party modules such as requests and httpx).

    Comment


    • #3
      I wonder if/when we will be able to fully drop in replace cpython with rustpython on our local systems

      Comment


      • #4
        Originally posted by uid313 View Post
        Python is "fast enough" for me, but I think it has other problems:
        • The standard library isn't even typed or only small parts of it.
        • Stupid PSF License instead of MIT License. (unsuitable for embedding)
        • No sandbox mode. (unsuitable for embedding)
        • async is cumbersome (you need to setup an executor before you can do await)
        • Cannot deserialize JSON to class (I know there are third-party modules and some kind of dictionary trick but it should be easier)
        • No good built-in HTTP client (urllib sucks, I know there are third-party modules such as requests and httpx).
        Those are minor. Biggest problem, by far, is lack of backwards compatibility, keeps removing shit, setting bad example for libraries too, so it's like dependency hell squared. That's how bad it is.

        Comment


        • #5
          Originally posted by uid313 View Post
          Python is "fast enough" for me, but I think it has other problems:
          • Stupid PSF License instead of MIT License. (unsuitable for embedding)
          • No sandbox mode. (unsuitable for embedding)
          Everything else has the potential to be fixed. That's all you needed to say

          It'll be interesting to see if Godot's gdscript will be able to take on Python since it's beginner friendly scripting with built-in support for multimedia, physics, and more with the MIT license.

          Comment


          • #6
            Originally posted by Weasel View Post
            Those are minor. Biggest problem, by far, is lack of backwards compatibility, keeps removing shit, setting bad example for libraries too, so it's like dependency hell squared. That's how bad it is.
            Ironically, Godot has that

            Comment


            • #7
              Originally posted by uid313 View Post
              • Stupid PSF License instead of MIT License. (unsuitable for embedding)
              Um, what? Battlefield 2, Sims 4, Mount & Blade and Civ 4 all embed Python with no legal issues. While I won't comment on the rest of the issues you mentioned, the PSF license, which is GPL and MIT compatible, doesn't cause any problems with embedding into other software, be it proprietary or open source.

              Comment


              • #8
                Originally posted by uid313 View Post
                [*]No sandbox mode. (unsuitable for embedding)
                AFAIK cpython is embedded in several commercial products, but don't know the security implications.

                Originally posted by uid313 View Post
                [*]async is cumbersome (you need to setup an executor before you can do await)
                Indeed, you need an event loop to do async/await. That's pretty standard, except for javascript/node which is event-loop based itself.

                Originally posted by uid313 View Post
                [*]Cannot deserialize JSON to class (I know there are third-party modules and some kind of dictionary trick but it should be easier)
                Never thought it was a good idea to deserialize data into a class, which carries executable methods.
                A class is a class, json does not carry objects, pickle do.

                Originally posted by uid313 View Post
                [*]No good built-in HTTP client (urllib sucks, I know there are third-party modules such as requests and httpx).[/LIST]
                urllib is quite complete and handy enough. It's difficult to handle the lot of HTTP/FTP and other application level protocols.

                Comment


                • #9
                  an experimental just-in-time (JIT) compiler that is working towards big performance improvements
                  I don't understand, we already have Numba which features a JIT that is extremely easy to use and provides huge speed boosts, it approaches C speed for many tasks:

                  Last edited by sophisticles; 07 June 2024, 01:26 PM.

                  Comment


                  • #10
                    Originally posted by sophisticles View Post

                    I don;t understand, we already have Numba which features a JIT that is extremely easy to use and provides huge speed boosts, it approaches C speed for many tasks:

                    https://numba.pydata.org/numba-doc/latest/user/jit.html
                    There's also PyPy and Pyston, but the point of CPython having JIT is that compatibility with existing apps is far more likely to be guaranteed. It's also more likely to remain maintained in the long term, and therefore follow latest Python versions more closely.

                    I rely on Pyston for everyday work (it runs SCons faster than CPython), but it hasn't been updated past Python 3.8 and doesn't run natively on Windows.

                    Comment

                    Working...
                    X