Hacker Newsnew | past | comments | ask | show | jobs | submit | pgrulich's commentslogin

Yes, Hotspot performs Escape Analysis to avoid heap allocation. This is a nice article: https://shipilev.net/jvm/anatomy-quarks/18-scalar-replacemen...


I was looking a bit in gdb frontende recently but still think it would be cool to have a chrome debug protocol adapter for gdb. Or is there something like this?


I'm not familiar with chrome debug protocol adaptor, I kind of assume it is not the same thing as https://microsoft.github.io/debug-adapter-protocol/

In the case that it is, I noticed that tromey had posted some patches for an initial implementation of MS-DAP to the gdb-patches list not too long ago.

https://sourceware.org/pipermail/gdb-patches/2022-September/...


Or a decent quality vim/nvim interface to GDB.


Yeah there's gdbserver which allows you to connect to GDB over TCP and run commands. You can use the GDB/MI command syntax which gives machine readable output.

Then Microsoft provides an adapter to convert GDB/MI to their standard Debug Adapter Protocol. I think their adapter is unfortunately closed source but there appears to be a third party open source one too.


>there appears to be a third party open source one too

Where?


Here: https://github.com/Marus/cortex-debug/blob/master/src/gdb.ts...

Though I'm not 100% sure it is using the DAP.


Something like gdbgui? Though it’s browser based, not limited to Chrome.

https://www.gdbgui.com/


I think its goddamn ;)


Maybe it's gee gosh golly darmn?


Ah well I feel a bit daft now, not sure how that didn't cross my mind


Wow very interesting insights. Thanks for the write up.


I think he confused the us billion (10⁹) with the german billion (10¹²) ;)


What? So what do German use for 10^9, Milliarden?

In French we use Milliard for billion and Trilliard for Trillions (and millions for millions).


Wow, French living in Germany for over 10 years, never realized that Billion meant something else here.

I guess I'm not rich enough, ahah.


yep. Millionen, Milliarden, Billionen, Billiarden, Trillionen, Trilliarden


but he used "billions" correctly in the first sentence


Yeah, that's probably it!


So for getters and setters a Jit can inline the function call and in the end you have a direct memory access. In your example you have to cast because URLConnection could be a HttpURLConnection or JarURLConnection. But again a good Jit would speculate that it is always a HttpURLConnection and deoptimize if not.


The JVM also has full information about the class hierarchy at runtime. If you add a class that overrides a function it will deoptimize that overriden function to a virtual function but otherwise the JVM will just treat it as a static function and inline it if necessary.


Also Intel licensed x64 from AMD...


Those were patent licenses, not copyright.


Is not the openjdk available for arm? What do you need from Oracle? https://adoptopenjdk.net/releases.html#aarch64_linux


This is aarch64 (that is 64-bit ARM), and NixOS seems more 32-bit arm looking at their wiki https://nixos.wiki/wiki/NixOS_on_ARM On the other hand, they do 64-bit too, so maybe there would be some way to do for one, then bootstrap the other?

Other idea, distributions like Debian, seems to build OpenJDK as well, so maybe that would be a way to get the initial package (through an existing distro) https://buildd.debian.org/status/logs.php?pkg=openjdk-11 - see the armel/armhf/arm64 architectures (arm64 equals aarch64).


We only support aarch64 officially. 32 bit ARM is only community-supported.


Aren't there 32-bit ARM binaries available here? https://bell-sw.com or here? https://adoptopenjdk.net/releases.html?variant=openjdk11&jvm...


So for Graal we have the situation that Graal EE (Enterprise Edition) has auto-vectorization. However, its not in the open-source version as Oracle holds it back. The implementation in this issue is however provided by Twitter.


One should also note that if it wasn't for Oracle, MaximeVM would have been yet another cool dead technology out of Sun Research Labs.

So quite the opposite of holding it back.


I think Graal and Graal EE on Oracle Cloud is one of the smartest product moves out of Oracle in .... idk ... forever?

However, it seems like a knifes edge to walk on. If Graal CE gets uptake, are there enough compiler folks at Redhat, Azul, Google, et. al. to shrink (or overtake) the Graal EE performance edge.

Graal CE must be “good enough” to get people hooked that they then want to hold their nose enough to engage with Oracle (through Cloud or license).

Maybe the management and visualization advantages are enough? I don’t think so though.

I also don’t think it will pay off (despite the incredible technical achievement that Graal is).

I was just talking with an ex-Oracle SMB sales rep, and they left because they would persuade businesses off SQL Server on technical merits, only to see their clients steamrolled by the Compliance Department a year later.

Larry is, 75 years old or so? I think recent Microsoft history can show goodwill can be created quickly, but it must be done from the top down.


Commercial JDKs do pay off, so much that many of the commercial AOT compilers (since around 2000) are still in business, although with the ongoing support on OpenJDK that might change a bit (ExcelsiorJET just gave up).

JIT and GC algorithms to the level done by JVM implementations don't come up with all nighters and weekend programming scratching an itch, and those software engineers need to be payed accordingly.

So if others have a problem with Oracle, maybe they could compensate for the fact that Oracle employees still do 90% of Java development and OpenJDK related work.


The niche JDK vendors are an order of magnitude off what Oracle needs to fund JDK development. I suppose the closest example is Azul, which is using the same "pay for performance" model of Graal EE.

I have absolutely nothing against some kind of commercial model for funding the JDK. My comments were that in my opinion, the model is unfortunately doomed:

- Lack of goodwill for Oracle - Enterprises who are not yet Oracle customers really really want to stay away from entering into a commercial agreement. True or not, the perception is that a license agreement with Oracle comes with aggressive and intrusive compliance audits.

- Worse is better syndrome - Indeed Oracle is the primary developer on the JDK, but the others entering this space are not hobbyists working on the side. Plenty of serious vendors with serious compiler chops have skin in keeping "free JRE" as the "fast enough" JRE. Redhat natch IBM, Google, Azul, Amazon, apparently Twitter (see pull request). Graal EE is supposedly 30-40% faster on some numeric workloads. But what if these players get that down to 20% or 10% .. or suddenly there might be workloads where CE is faster. Much harder to pitch that license agreement without compelling and unambiguous benefit.

I don't have a "problem" with Oracle, I'm just commenting on where I think the industry is right now. Maybe Oracle will prove me wrong - Microsoft sure did.


The others entering on this space are mostly repacking Oracle's work, in what concerns Java language and JVM specification.

From those listed by you, IBM and Azul have their own JVM implementations, and just like Oracle require enterprise contracts for the cool features.

Finally, everyone complains about Oracle, yet no one else bothered to make a counter offer to buy Sun.


Doesn't matter though. Azul is probably doomed. Does anyone pay IBM for a commercially enhanced JVM? I never heard of it.

IBM might have some enterprise JVM, but they just bought Red Hat. Red Hat hired a bunch of former Sun/Oracle devs and then developed an open source pauseless GC, thus chopping the knees out from underneath Azul and Oracle's ZGC work.

What have Azul and IBM got now? They've gone down the path of trying to use LLVM as a JIT compiler, but they're now in competition with Graal and GraalVM+ZGC or Shenandoah would appear to match their capabilities. They had a good run with edge whilst it lasted, but ultimately there are only so many ways to make Java go faster and the world is apparently not short of companies willing to do JVM heavy lifting for free. But of course, only on the parts that other firms are trying to sell. I don't see Twitter implementing a Project Valhalla anytime soon.

Oracle have developed some great tech in GraalVM and are now trying to turn it into a real business. It's a remarkably long term strategy, but in the end there are lots of people who don't want to see Java go back to being a commercial product again and will happily 'burn' money to ensure it. And I'm sure some would love to just spite Oracle too.

I suspect eventually Oracle will let most of the Java and Graal developers go, probably reallocating them to a non-profit foundation that it slowly winds back commercial support for until its investment in Java is more evenly balanced with other large industry players. The existing OpenJDK people don't seem to be under any commercial pressure or urgency already so it wouldn't be a big shift for them.


Ever heard of Websphere, IBM i, IBM z/OS?


Yes but I imagine a lot of developers haven't. How many new projects are being started on a mainframe?


True! I'm very happy about the general open-source culture in the graal project. They are in general very open for ideas and always support! That is very cool!


Sorry I am not aware of EE and its features, I should have added that my comment was about the FOSS edition.


I usually open 192.168.0.1 which works quite good;)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: