Live data from Hacker News

Grumpy: Go running Python

opensource.googleblog.com

21–30 of 463 posts

Re: Grumpy: Go running Python

#23
post #5

This seems like an odd engineering choice. Presumably the effort to create a python->go translator would be non-trivial. Why not just start rewriting components into Go, and migrating them out of Python, leaving python as essentially the presentation layer at most?

It could be part of the auto migration effort.

Re: Grumpy: Go running Python

#24
post #5

This seems like an odd engineering choice. Presumably the effort to create a python->go translator would be non-trivial. Why not just start rewriting components into Go, and migrating them out of Python, leaving python as essentially the presentation layer at most?

It could be part of the auto migration effort.

Re: Grumpy: Go running Python

#25
Python needs a new runtime. This talk shows how bad of shape it's really in.

https://www.youtube.com/watch?v=qCGofLIzX6g&list=PLRdS-n5seL...

Basically, the language doesn't have a "spec" per-se. The language is whatever the defacto CPython implementation happens to do within it's giant eval loop.

Another great talk about CPython internals:

http://pgbovine.net/cpython-internals.htm

Re: Grumpy: Go running Python

#26
post #19

That looks like a super interesting runtime. Seems to target 2.7 only, I hope they're open to supporting 3.x as well.

I wonder if they intend to maintain it long term or if they're just going to use it as a bridge while they rewrite things natively in Go.

Seems like a huge effort for the interim... unless they really need interoperability between Python and Go during the switch.

Re: Grumpy: Go running Python

#27
The main reason I moved from coding in Python to Go as my main language many years back is because concurrency was such a pain in standard Python (the other was compile time error checking).

It's interesting to see the same pain has now made caused the runtime itself to be implemented in Go.

It's a pity C extensions (often used in scientific computing) are not supported but Go does have support via CGO, so maybe some approach can be worked out to access C routines in the future.

Re: Grumpy: Go running Python

#28

Very interesting project and technical solution. Is this in use at Google? The described example problem is Youtube with millions of requests per second, but the post doesn't say if it Grumpy was put in production (and what performance gains were then achieved).

I'm thinking it isn't in production yet, based on wording like "we're excited about the prospects" and "although it's still alpha software".

Re: Grumpy: Go running Python

#29
Haha, now that's what I call an interesting project.

The biggest surprise for me is that the Go runtime would be a good fit for Python, performance wise, considering the very different object and dispatch model.

The post also mentions runtime reflection, which used to be painfully slow last time I used it. (Go 1.5, i think).

Has this improved in the latest releases?

Post reply on HN