Announcement

Collapse
No announcement yet.

Google Develops Experimental Python Runtime In Golang

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

  • Google Develops Experimental Python Runtime In Golang

    Phoronix: Google Develops Experimental Python Runtime In Golang

    Google's open-source team today announced Grumpy, a Python runtime written in the Go programming language...

    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
    This sounds really cool and it looks like Google is back to aggressively pushing Go as an alternative to Python to eat away at their share. I wonder if this could also operate as a learning tool for programmers wanting to make a jump from Python to Go? Quickly get a Go equivalent statement for some Python code snippets?

    Also curious if Grumpy only works for Python 2.7 or if it also supports 3.x code? The blog post mentions this is primarily directed towards converting the Youtube Python 2.7 codebase to Go and doesn't ever mention any 3.x functionality.

    There are so many code bases dragging their feet on making the jump from Python 2.7 to 3.x and 2.7 is nearing its EOL. So this project seems very well placed to help persuade people to altogether ditch the idea of upgrading to 3.x and work on Go rewrites.

    Comment


    • #3
      I'm a little confused why Google did this:
      * There are already a handful of other high-performance interpreters that are [mostly] compatible with most libraries. Wouldn't it have been more cost effective for them to have contributed toward these projects instead of writing a runtime from scratch?
      * It seems the main benefit of Grumpy is there's no GIL. But per-thread, Grumpy is slower than cpython. Cpython has multithreading libraries. Again, seems like making Grumpy wasn't the most cost effective choice.
      * Google is currently using Python 2.7 for many of their server-side applications. I'm guessing the primary reason they haven't switched to 3.x is because of the risk of breaking something (most libraries that actually matter have been ported to 3.x by now). Seems to me, writing an entire python compiler from scratch in a language that in itself is still very young seems much more risky.

      I'm not hating on Grumpy here - it seems very nice so far and has a lot of great potential. But in a company perspective, I don't understand why Google prioritized it.

      Comment


      • #4
        Originally posted by schmidtbag View Post
        I'm a little confused why Google did this:
        * There are already a handful of other high-performance interpreters that are [mostly] compatible with most libraries. Wouldn't it have been more cost effective for them to have contributed toward these projects instead of writing a runtime from scratch?
        * It seems the main benefit of Grumpy is there's no GIL. But per-thread, Grumpy is slower than cpython. Cpython has multithreading libraries. Again, seems like making Grumpy wasn't the most cost effective choice.
        * Google is currently using Python 2.7 for many of their server-side applications. I'm guessing the primary reason they haven't switched to 3.x is because of the risk of breaking something (most libraries that actually matter have been ported to 3.x by now). Seems to me, writing an entire python compiler from scratch in a language that in itself is still very young seems much more risky.

        I'm not hating on Grumpy here - it seems very nice so far and has a lot of great potential. But in a company perspective, I don't understand why Google prioritized it.
        Ugh ! Just noticed it doesn't support Python 3. It's actually just a legacy Python 2 runtime.

        Google technological debt is growing fast..

        Comment


        • #5
          Originally posted by wagaf View Post

          Ugh ! Just noticed it doesn't support Python 3. It's actually just a legacy Python 2 runtime.

          Google technological debt is growing fast..

          Might be the case because google started with other languages around the time python 3 got more tractions. Basically meaning the developed this to port their own stuff. Just guesing though.

          p.s.. have not much interest in this, only using python because its just available on most distro's, not using it for big projects.

          Comment


          • #6
            Originally posted by wagaf View Post

            Ugh ! Just noticed it doesn't support Python 3. It's actually just a legacy Python 2 runtime.

            Google technological debt is growing fast..
            It's actually the opposite of growing technical debt. This allows them to move huge amounts of Python 2 to a Go runtime where it can inter-operate while they convert it to Go that doesn't need the code at all. It's quite possible that they wouldn't be able to eliminate so much Python 2 if they had to do it all at once and communicate between Python 2 and 3 interpreters. The use case for this probably won't be to CREATE Python 2 code but to make it easier to eliminate.

            Comment


            • #7
              Originally posted by Palu Macil View Post
              It's actually the opposite of growing technical debt. This allows them to move huge amounts of Python 2 to a Go runtime where it can inter-operate while they convert it to Go that doesn't need the code at all. It's quite possible that they wouldn't be able to eliminate so much Python 2 if they had to do it all at once and communicate between Python 2 and 3 interpreters. The use case for this probably won't be to CREATE Python 2 code but to make it easier to eliminate.
              What you said makes a lot of sense. Though, I personally find the way a lot of Grumpy works to be confusing and I don't think the blog post does a good job outlining it. But I'll look more into it tomorrow I guess.
              Last edited by schmidtbag; 04 January 2017, 04:58 PM.

              Comment


              • #8
                Originally posted by Palu Macil View Post

                It's actually the opposite of growing technical debt. This allows them to move huge amounts of Python 2 to a Go runtime where it can inter-operate while they convert it to Go that doesn't need the code at all. It's quite possible that they wouldn't be able to eliminate so much Python 2 if they had to do it all at once and communicate between Python 2 and 3 interpreters. The use case for this probably won't be to CREATE Python 2 code but to make it easier to eliminate.
                This is my interpretation too. It is an attempt to get rid of Python at Google. Probably makes sense at Google to to the scale they operate at. Otherwise for most it is waste of time.

                Comment


                • #9
                  Pretty dumb thing to tie it to Python 2...

                  Comment


                  • #10
                    Originally posted by tmpdir View Post


                    Might be the case because google started with other languages around the time python 3 got more tractions.
                    Facebook were able to move from Python 2 to Python 3. Wonder why Google couldn’t do it?

                    But then, every large “enterprise” organization gets weighed down by legacy technology sooner or later...

                    Comment

                    Working...
                    X