8 ms·
MS Build of OpenJDK now with enhanced escape analysis enabled by default
- 38 3y agoI don't think they know what the word build means. No builds are on that page, and even the GitHub links are just to the source.
- javajosh 3y agohttps://learn.microsoft.com/en-us/java/openjdk/download https://learn.microsoft.com/en-us/java/openjdk/download
- DistractionRect 3y agoThey do, they never promised to link to the builds, per the article: > This article lists the fixes contained in the releases of Microsoft Build of OpenJDK packages It simply lists what they've added per tagged release and they link the source code. See sibling comment for actual builds.
- Traubenfuchs 3y agoIs there a benchmark somewhere? What kind of Java software profits most from this? Why not inegrate into mainline OpenJDK?
- blackoil 3y agoThis is not MS specific feature should be available in all JDK 17.0.8. Title is a little confusing, MS doesn't maintain a separate code base. They provide builds of the common JDK.
- rbanffy 3y agoThey got into a lot of trouble by making their own Java once. They won't try it again.
- karianna 3y agoThis particular patch was upstreamed to OpenJDK tip and will be part of Java 22 for all vendors. We have back-ported the patch to our builds of 11, 17 (and shortly 21), and offer those back-ports upstream. However, those back-ports won't always be accepted into the stable LTS branches, so sometimes they'll only sit in our builds for those versions (like this patch in our 17.0.8+ builds). We make that clear in our release notes etc and the code is always available on our GitHub under the GPLv2+CE license.
- blackoil 3y agoThis is interesting. Does this mean builds from Amazon, MS, Redhat may have different features?
- pjmlp 3y agoYes, they do. Many people don't get the point across that Java is like C and C++, there are plenty of implementations. Regarding OpenJDK, here are some examples, Amazon has Lambda SnapStart into their implementation, Azul uses a LLVM based JIT, their own pauseless GC and extensions for value types (ObjectLayout), Red-Hat ships Shenodah.
- vips7L 3y agoIt is upstreamed into OpenJDK.
- Erlangen 3y ago"upstreamed"? Is this feature developed by Microsoft?
- vips7L 3y agoPerhaps upstream wasn't the correct word. The feature was implemented in OpenJDK by a Microsoft employee. [0] https://github.com/openjdk/jdk/pull/9073 https://github.com/openjdk/jdk/pull/9073 [1] https://github.com/openjdk/jdk/pull/12897 https://github.com/openjdk/jdk/pull/12897
- oaiey 3y agoThe abbreviation of "MS Build" is not working well. msbuild is the build system (as in make, ant, Gradle, ...) of .NET and VS generally. Mixing msbuild and Java would be so wrong.
- ptx 3y agoThey could call it MSJVM 2, but that would risk reminding people of what happened the first time Microsoft got involved with Java. That time, according to internal memos revealed in the antitrust trial, their objective was to kill Java via sabotage of cross-platform Java applications by "polluting them with Windows specific stuff" [1]. Replacing cross-platform build tools with MSBuild might be a good approach if they want to have another go at it. They could build some really convenient integrations with VS Code and Azure. Maybe even integration with WSL2, so that your Java app for Linux only builds on Windows. [1] https://www.justice.gov/atr/memorandum-united-states-support-motion-preliminary-injunction-us-v-microsoft-corporation https://www.justice.gov/atr/memorandum-united-states-support...
- karianna 3y agoYeah, we're not going to do that :-). The Microsoft Build of OpenJDK is very much a build of OpenJDK that Azure customers can get free support for and over time get some Azure specific performance benefits from. Those performance benefits will be worked on upstream as well (like this escape analysis patch was) but there will be times where upstream won't want to take a patch on a stable LTS branch for example. We'll continue to be very clear when we have a patch that is not in the upstream code and it'll always be available on our GitHub under the GPLv2+CE license.
- blibble 3y agohow long until the "enhancement" list includes telemetry?
- WhereIsTheTruth 3y agoAs people noted, "MS Build" is not the right terminology: https://en.wikipedia.org/wiki/MSBuild https://en.wikipedia.org/wiki/MSBuild OP shouldn't have renamed what's on the article linked "Release notes for the Microsoft Build of OpenJDK" Hopefully a moderator fixes that
- arielcostas 3y agoYeah, and MSBuild is also the name of the event they had earlier this year when they announced a ton of AI crap for Windows, Office and all that, right?
- deleted 3y ago[deleted]
- _8j50 3y agoEven on windows I find Msbuild,dotnet,csc,etc... so ugly and frustrating to use. MS is one freaking company and its tools have little consistency in their interfaces. How do you run the tool? Just msbuild.exe , oh no, that is too easy. You have to search program files and then program files (x86) and use the absolute path. How do you use the tool? No consistent help flags and even when there is you still have to look up online docs half the time (and each subcommand has its own page?). I lost track of how many times I just needed to build a small project and was forced to install like 10GB+ visual studio crap. Please don't use visual studio to build your solutions if you are writing a cli app. Their complex xml formats for solutions and projects are markedly inferior to makefiles imho! Mingw is the way for windows cli.
- pjmlp 3y agoJust like expecting BSD and GNU/Linux work the same way for classical UNIX tools?
- 3LazTjBv-f 3y agoHere we go again, MS makes their Java version :D Looking at https://learn.microsoft.com/en-us/java/openjdk/faq https://learn.microsoft.com/en-us/java/openjdk/faq they do it just for Azure, which kinda makes sense, Amazon did the same(custom build/fork) with Corretto.