Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
JanecekPetr
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
1.
▲
by
JanecekPetr
1y ago
- It doesn't work with ErrorProne ( https://github.com/google/error-prone/issues?q=sort%3Aupdate... ) - you need a special plugin in your IDE for the generated classes to be visible and/or the code to be p
2.
▲
by
JanecekPetr
1y ago
https://github.com/Randgalt/record-builder The upsides are: - it generates code and does not do anything funky with internals, - it has a lot of knobs if you need something a little different. The downside is that it d
3.
▲
by
JanecekPetr
2y ago
That's kind of the idea of Caffeine, it has admission buffers, and it adapts automatically between LRU and LFU. The original algorithm is called Windiw TinyLFU (design https://github.com/ben-manes/caffeine/wik
4.
▲
by
JanecekPetr
3y ago
> "will not work with no recourse" No, the CLI `--add-opens` CLI option will stay. In other words, applications will need to consciously enable the encapsulation-breaking stuff. Is that bad? Modern software moved to public APIs
5.
▲
by
JanecekPetr
4y ago
I take issue with the thing being a part of HexFormat. It should use hexformat, optionally. What if I want to dump the memory to binary or octal instead? The hexformat class itself could have been an adjustable BaseNFormatter :(. Sorry for
6.
▲
by
JanecekPetr
4y ago
Not Caffeine, that's the caching library. You probably meant one of FastUtil, Eclipse Collections, Koloboke, HPPC(-RT), they all provide primitive specializations of Maps and Collections. For off-heap maps, now that's more interes
7.
▲
by
JanecekPetr
5y ago
For me the aha moment was to understand the logical order of SQL operations: https://blog.jooq.org/a-beginners-guide-to-the-true-order-of... . Never had a problem since.
8.
▲
by
JanecekPetr
5y ago
Interestingly, no, the tag doesn't have to be in the formatting string. See https://news.ycombinator.com/item?id=29507511 .
9.
▲
by
JanecekPetr
5y ago
No, this is about log4j2 which is kinda new (2.0.0 was released 2014). Otherwise, yeah, this is terrible, especially since the tag doesn't even have to be in the formatting string.
10.
▲
by
JanecekPetr
5y ago
For native binaries, we now have https://www.graalvm.org/reference-manual/native-image/ , but it probably doesn't yet work nicely with game frameworks? Not sure. There are some engines, frameworks: https:
11.
▲
by
JanecekPetr
5y ago
...and they're missing out, that's exactly the message. By the way, I'd be shocked if Java 8 was still more than half of the running server-side JVMs. There's a lot of them for sure, but I'd be willing to bet it
12.
▲
by
JanecekPetr
5y ago
It's simply a completely different implementation. Some of the optimiization passes are the same, obviously, but overall it simply performs ... differently.
13.
▲
by
JanecekPetr
5y ago
Correct! Inlining obviously costs CPU, code cache space, and makes the receiver method bigger so that it's less likely it will be inlined itself. If there ever is a decompilation occuring, the inlining efforts were pretty much wasted.
14.
▲
by
JanecekPetr
5y ago
Nice. Thanks. (For other viewers, all the non-standard maps I'm aware of are trying to avoid allocating those pesky Map.Entry objects, that's why they generally take up much less memory.)
15.
▲
by
JanecekPetr
5y ago
That's because they used primitives, no? In that case also look at some other options: https://www.reddit.com/r/java/comments/r0b9o9/a_tale_of_java... . While I still think Koloboke in general is the
16.
▲
by
JanecekPetr
5y ago
Indeed, max bytecode count (FreqInlineSize and MaxInlineSize) and inlining depth (MaxInlineLevel). Your GC choice will also slightly modify the inlining decisions, and then obviously GraalVM will be completely different.
17.
▲
by
JanecekPetr
5y ago
> i couldn't even inline my functions You could, manually :). Either way if they're hot, they're inlined. One common trick for open-addressing maps in Java I don't see in your implementations is to have an array of ke
18.
▲
by
JanecekPetr
5y ago
If it's not behind XX:+UnlockExperimentalVMOptions (or a preview/incubator module), it's considered stable and prod-ready, yes. Will there be fixes and improvements? Yes. Should you be afraid to use it for business? No, but o
19.
▲
by
JanecekPetr
5y ago
No, they use 12 on all of my devices. Maybe update your browser or something?
20.
▲
by
JanecekPetr
5y ago
Automated ffi parser soon (TM) to be in standard Java: https://github.com/openjdk/panama-foreign/blob/foreign-jextr...
21.
▲
by
JanecekPetr
5y ago
This, exactly. One added issue is that ZGC does NOT support compressed oops at all.
22.
▲
by
JanecekPetr
6y ago
You misread that. It says that decompression is significantly faster than LZO. In fact, decompression speeds of up to 5 GB/s is one of the reasons LZ4 is so popular.
23.
▲
by
JanecekPetr
6y ago
For complete cheers beginners who want to learn and understand the ideas of the game, I highly recommend buying an oldish engine, Chessmaster XI: Grandmaster Edition, as it contains a set of amazing, approachable tutorials by an IM Joshua W
24.
▲
by
JanecekPetr
7y ago
The I/O example is moot since Java 11 where Java got https://docs.oracle.com/en/java/javase/13/docs/api/java.base... , so we can do `Files.readString(Paths.get(doc.txt))`. Java 14 is gettin
25.
▲
by
JanecekPetr
7y ago
Thank you, I updated the link in my post to point to the up-to-date and frequently updated wikui page for Valhalla information.
26.
▲
by
JanecekPetr
7y ago
There is the project Valhalla now, https://wiki.openjdk.java.net/display/valhalla/Main , aiming to bring value types and eventually generic specialization and reification. The work on that project has been impressi
27.
▲
by
JanecekPetr
7y ago
That's because they'll be maintaining the 1.1.x and 1.2.x branches...
28.
▲
by
JanecekPetr
8y ago
Here's the smhasher output for XXH3 on an i9: https://pastebin.com/ryLN24Qy , the wyhash has its output in its readme. TLDR: XXH3 uses less cycles per key, by about 30%. The real throughput / latency need a more eq
29.
▲
by
JanecekPetr
8y ago
Genetic specialization (List<int>) is coming. See https://openjdk.java.net/projects/valhalla/ . Not this year (value types will be first). But they're working in it really hard.
30.
▲
by
JanecekPetr
8y ago
This, a million times. In my professional bubble Lombok is completely gone. I'll go as far and say that modern Java does not use Lombok. Smaller, focused libraries like Immutables or AutoValue, solve the problem of boilerplate for data
More ›