GraalPy – A high-performance embeddable Python 3 runtime for Java
101–110 of 151 posts
Re: GraalPy – A high-performance embeddable Python 3 runtime for Java
#102Earlier quoted context omitted.
I think your comment needs to mention that Python has syntax for type annotations and two mature type checkers (mypy and pyright) with more under development. Python is thus very much part of the modern statically typed languages scene (moreso than Go) whereas Ruby isn't at all. Many people wouldn't touch Python today if it weren't for this.
> Python is thus very much part of the modern statically typed languages scene (moreso than Go) Python’s type system is substantially more complex than Go’s - it’s probably more complete , but given it’s optional nature, less sound . In “modern” type systems, is completeness considered more important than soundness? The success of TypeScript suggests it is.
Re: GraalPy – A high-performance embeddable Python 3 runtime for Java
#103Earlier quoted context omitted.
The reasons for all this stuff having been developed in Python also make Python interesting right now, all by themselves. It did not happen by accident; this stuff was developed fairly recently and there was no shortage of mature languages to choose from.
The people disliking the language are very vocal about it, but there is a huge amount of silent people that loves it and an even bigger amount that just like it as much as alternatives. It's mainstream now, not trending like 10 years ago, so there is no hype about it anymore. We just use it to do stuff. Add to that the existing excellent ecosystem, the strong culture of scientific stacks and a very good story for pro…
As I said it’s anecdotal, but in my experience Python gets a lot of love compared to something like Java or C#. Both of which are often met with real harshness. Hell I’ve ranted unseemly about C# myself.
Re: GraalPy – A high-performance embeddable Python 3 runtime for Java
#104Earlier quoted context omitted.
I think your comment needs to mention that Python has syntax for type annotations and two mature type checkers (mypy and pyright) with more under development. Python is thus very much part of the modern statically typed languages scene (moreso than Go) whereas Ruby isn't at all. Many people wouldn't touch Python today if it weren't for this.
> two mature type checkers I’ve never quite understood how this works. Surely a type system is absolutely fundamental to a language - how can you have multiple incompatible ones? Do you need to choose a particular type checker for each project? Are you limited to only using third-party libraries that use the same type checker?
Re: GraalPy – A high-performance embeddable Python 3 runtime for Java
#105Earlier quoted context omitted.
> an OO system that looks like it has been bolted in, compared to Ruby I think the two languages just have different design philosophies. In Python, functions are fundamental and classes are built on top of them. In Ruby, objects are fundamental and functions (i.e. Procs etc) are themselves objects. You could just as well claim that in Ruby, functions look like they have been bolted in. For example, you can’t call a…
Isn't Python's functions are just objects with a __call__ method, and such objects has a syntax sugar allowed them to be called like a function.
Re: GraalPy – A high-performance embeddable Python 3 runtime for Java
#106Does it have to be run in a GraalVM, or any JVM implementation is fine?
> You can use GraalPy with GraalVM JDK, Oracle JDK, or OpenJDK https://www.graalvm.org/latest/reference-manual/python/
Re: GraalPy – A high-performance embeddable Python 3 runtime for Java
#107Does it have to be run in a GraalVM, or any JVM implementation is fine?
Re: GraalPy – A high-performance embeddable Python 3 runtime for Java
#108Earlier quoted context omitted.
The reasons for all this stuff having been developed in Python also make Python interesting right now, all by themselves. It did not happen by accident; this stuff was developed fairly recently and there was no shortage of mature languages to choose from.
The people disliking the language are very vocal about it, but there is a huge amount of silent people that loves it and an even bigger amount that just like it as much as alternatives. It's mainstream now, not trending like 10 years ago, so there is no hype about it anymore. We just use it to do stuff. Add to that the existing excellent ecosystem, the strong culture of scientific stacks and a very good story for pro…
The tooling has markedly improved though. Things like typing and compile time checks, great. But its also funny to me that some of the fastest tools for python are being built in rust (eg uv).
Re: GraalPy – A high-performance embeddable Python 3 runtime for Java
#109More details about this particular release are in the blog post at https://medium.com/graalvm/whats-new-in-graal-languages-24-1...
Happy to answer any additional questions!
Re: GraalPy – A high-performance embeddable Python 3 runtime for Java
#110In case someone is interested, here are some benchmark results comparing GraalPy and others with JDK8 using the Are-we-fast-yet benchmark suite: https://stefan-marr.de/downloads/tmp/awfy-bun.html And here is a table representation of all benchmarks and the geomean and median overall results: http://software.rochus-keller.ch/awfy-bun-summary.ods The implementation of the same benchmark suite runs around factor 2.4 (ge…
My limited experience was that on re-heavy workload pypy is several times slower than cpython (~3x compared to 3.10) and graal is even worse (~6x compared to 3.11).