553 karma · joined July 2, 2014
JDBC is not a protocol, JDBC is an API, hence the need for a different JDBC driver per RDBMS. I doubt the author is a developer, I see this misunderstanding often with architects who don’t code.
O_TMPFILE should do this.
> - Unit files.
O_TMPFILE together with renameat2 and RENAME_EXCHANGE should do this.
https://adoptopenjdk.net/upstream.html
These are the official upstream builds by the updates project built by Red Hat. Not to be confused by Red Hat Java, not to be confused by the AdoptOpenJDK/Adoptium builds. These can‘t be hosted on openjdk.java.net because they host only builds done by Oracle, not to be confused by Oracle JDK.
E-cores (Gracemont) don't support AVX-512, only P-cores (Golden Cove) support AVX-512
You get mystery bits that haven't been put through the TCK.
How does the the GIL prevent interleaving? My understanding is that if an "operation" takes several steps, eg. reading from a dict then IO or a C extension and finally writing to a dict the GIL will not make this atomic.
How is this achieved?
> Though it is worth pointing out that Java has a well-defined memory model, and Python doesn't.
Wouldn't you have to at least issue an mfence when a thread enters / exists the GIL?
How is this currently avoided? My understanding is that anything that accepts a callback / lambda is potentially subject to interleavings as the code can call a C extension which releases the GIL. Moving code to C extensions is often recommended when Python performance is brought up. Am I misunderstanding something?
> It's also unclear how tractable it is to retain current garbage collection semantics without a GIL
Why is it important to retain current garbage collection semantics? Why does Python prescribe a certain garbage collection implementation and does not allow for others like Java?
How do you prevent interleaving of different threads then?
> and must remain that way to maintain compatibility.
Why? Python 3 broke a whole lot of applications and libraries.
If over a decade of doing Java on Linux has taught me anything then it is to avoid using anything Java related from any Linux distribution and instead "install" (unzip or untar) what you need yourself.
I don't see why Fedora needs to build their own versions of JARs instead of using the ones the projects builds. The only answer I heard is "this is how we roll". It seems like they have this one process built for C system libraries and try to use it for everything whether it makes sense or not.
The only exception I can think of is if you're on RHEL and want to use the RHEL Java because of the support contract.
That won't work because of the missing W^X support in upstream releases. You need to backport patches.
It depends, do you want support for your JVM? If so:
* Graal CE has no support
* Graal EE requires either running on Oracle Cloud or calling Oracle Sales for a custom quote. These are non-starters for many.
* JVMCI requires `-XX:+UnlockExperimentalVMOptions` which often voids support.
* I believe Mandrel is supported but requires RHEL
What is the basis for this statement?
* MATCH_RECOGNIZE isn't supported
* reference partitions aren't supported
* TIMESTAMP is incompatible and the default compile options are comically bad
These are the first three things that came to mind and none of them are supported so I stopped looking further.