Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
pron
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
21 ms
·
1.
▲
by
pron
9d ago
> Women are currently viewed as intrinsically a good thing to run a company Why would anyone think that having significantly less than 50% women requires no investigation if they didn't think women are intrinsically bad for a compan
2.
▲
by
pron
10d ago
Are you talking about G1 in JDK 25, JDK 26, or JDK 27? While G1 isn't changing quite as fast as ZGC, it changes quite a bit from release to release. I believe that G1 has been made the default even for small machines in JDK 27 because
3.
▲
by
pron
11d ago
> I would be very surprised if ZGC became the default, because it incurs a significant overhead penalty to eliminate those GC pauses That throughput penalty is not very high with generational ZGC. It's not zero, but it's not ve
4.
▲
by
pron
12d ago
The problem is that 1. it's not easy to beat the JDK's GCs at memory management (assuming you've picked the right GC for your workload) especially as they keep getting better and better, and 2. how a pool behaves relative to
5.
▲
by
pron
12d ago
If anything, I think it's not unlikely that ZGC will become the default at some point, as it matures. It's hard to beat Parallel on batch workloads, although G1 is getting there. ZGC is unparalleled for low-latency (GC pauses are
6.
▲
by
pron
12d ago
There are two practical lessons here: 1. Upgrade your JDK for the best performance (as the article says, the slowdown is gone in JDK 26). 2. Don't try to help the GC by pooling objects. Mutating old objects can be expensive, while allo
7.
▲
by
pron
14d ago
If that were the actual tradeoff, I'd take it, too (and BTW, Java's memory safety is much better than Rust's, but that's beside the point now). Remember that even 25 years ago you had a very similar thing with C++ vs Jav
8.
▲
by
pron
14d ago
> That's not true, as evidenced by the fact that this move has started before extremely sophisticated JIT compilers or garbage collectors were invented. I don't know how long you've been programming, but that's not tr
9.
▲
by
pron
14d ago
> I know that. I also know that JITs cannot optimize to the same amount as LLVM due to the time limit Yeah, this is not true, and there's no time limit. I mean, maybe some JIT compilers, like JavaScript's have a time limit, but
10.
▲
by
pron
15d ago
Well, if you have a couple of decades of experience with low-level programming, you know that AOT compilation and non-moving pointers carry intrinsic runtime overheads that manifest as programs grow large and complex, and run for a long tim
11.
▲
by
pron
16d ago
> The complexity is made worse for specific, isolated, encapsulated and reusable code, while all other code becomes significantly safer? That's a deal I'll take at any time. That's not the deal I'm getting on either s
12.
▲
by
pron
16d ago
> you have at most 20% (wildly overestimating) of code that needs to be unsafe Obviously, but that doesn't help me if the complexity in the unsafe parts is made worse, while the safety helps the parts where little help is needed. It
13.
▲
by
pron
17d ago
I reach for a low-level language only when I want low-level control over what operations happen and when, what memory is used and when etc.. At present, no language offers me this control and safety at the same time. With Rust, when I nee
14.
▲
by
pron
21d ago
First, it's not a C++ feature. In C++ you tell the compiler how to lay out objects in memory. Here you declare what properties your class has (e.g. whether it needs identity or not), and the compiler decides how to lay out each of its
15.
▲
by
pron
27d ago
> That’s 640MB of live heap in steady state, which ends up in the “long lived” part of most garbage collectors. It won't, because that is exactly the thing good moving GCs detect and size the young-gen accordingly. > Using RAM to
16.
▲
by
pron
29d ago
A high allocation rate of long-lived objects is not easy to do. Object "death" rate has to equal the allocation rate, so a high allocation rate of long-lived objects means that somehow you get to allocate, say, 1 GB/s of data
17.
▲
by
pron
1mo ago
> You will have a hard time using theory to justify that SAT is easier than any other NP-complete problem "Easier" perhaps isn't the right word (in terms of reducibility, it certainly isn't), but FPT is just a way to
18.
▲
by
pron
1mo ago
> That is the benefit of non-turing complete languages, though. That's simply untrue. You can write arbitrary proofs about programs in Turing-complete languages, too. In fact, most formal proofs are of programs written in Turing-c
19.
▲
by
pron
1mo ago
The problem is that the people getting good results with AI-assisted formal methods are the same people who get good results with formal methods without AI assistance. They then extrapolate the benefits they are getting from AI today to wha
20.
▲
by
pron
1mo ago
A program that enumerates all theorems in ZFC and stops when it proves a contradiction (e.g. true = false). Encoding a program that is equivalent to that directly as a Turing Machine in merely 748 states: https://www.scottaaronso
21.
▲
by
pron
1mo ago
You say unavoidable, but moving collectors are designed to reduce CPU at high allocation rates by increasing the heap size. Generational moving collectors have a pathological case - a high allocation rate of long-lived objects - but that&#x
22.
▲
by
pron
1mo ago
> Universal quantification over complexity classes of first-order systems, used anywhere in the abstract? I'm not sure what you mean by "complexity classes of first-order systems" and by "in the abstract". But it
23.
▲
by
pron
1mo ago
You're right that managing any resource that isn't just Java heap memory requires manual management, but it isn't what we normally mean by memory management. The two have been somewhat tied together traditionally through re
24.
▲
by
pron
1mo ago
I'm not saying computational complexity restricts itself to the physically realisable, I said it's tied to it and so there will be more papers on models that have some correspondence with physical reality. > we're still
25.
▲
by
pron
1mo ago
I would say that it very much is about the nature of computation, but computation itself has always been tied to the physical. The physicality (even hypothetical physicality) is exactly what separates theoretical computer science from pure
26.
▲
by
pron
1mo ago
> So you can waste more RAM, waste more cycles Just to be clear, the main reason for the use of moving collectors in the first place is to waste less cycles on memory management (otherwise we wouldn't use them). They exist to serv
27.
▲
by
pron
1mo ago
> it usually looks like what you would expect out of a Turing machine's simulation of it You could assign it any cost model you want. Often this doesn't make a difference (as speedup theorems and other "distracting details
28.
▲
by
pron
1mo ago
I just want to point out that complexity theory isn't really about analysing the complexity of a particular algorithm (that's the subject of algorithm and data structure analysis, where students learn big-O notation), but about un
29.
▲
by
pron
1mo ago
I take your correction re graph colouring, but the rest is pointlessly pedantic (especially "FPT in the length", which is trivial and so typically excluded from the definition). Now, I don't know if SAT being FPT (in a parame
30.
▲
by
pron
1mo ago
> I don't get your point here. What analysis are you talking about? Determining any kind of non-trivial property (i.e. a property that isn't true for all or none of the programs in the language). > I believe the claim usuall
More ›