Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
dbg_nsk
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
5 ms
·
1.
▲
by
dbg_nsk
9y ago
Right, but even a single instruction placed on every backward branch and at the epilogue of every method causes noticeable impact on the performance. This is especially important in highly optimized code and that's why optimizing compi
2.
▲
by
dbg_nsk
9y ago
It would be very interesting to run our sample with Timers on this GC. In that paper I found a link to their implementation, but unfortunately it is unavailable.
3.
▲
by
dbg_nsk
9y ago
Yes, I wrote this article. No, I haven't read those papers before, but after your comment I took a look at one of them.. and it is very interesting! Thanks for mentioning it. But, if I understood correctly, the excess memory retention
4.
▲
by
dbg_nsk
9y ago
You are right, such things as value types or inline arrays are not introduced in Java language (yet), but still JVM can allocate objects including arrays on the stack if this objects are not escaping into the heap. Of course, not all object
5.
▲
by
dbg_nsk
9y ago
Yes, an excellent point. Unfortunately, we do not have such specific benchmarks at the moment (only general benchmarks on the performance of GC), but I guess we should add them. However, please note, that our conservative GC was also copyin
6.
▲
by
dbg_nsk
9y ago
Yeah, we've tried that. It was one of the attempts of improving conservative GC (no dead values on the stack => no false roots). Unfortunately, it causes noticeable performance degradation, so it is easier to consult with stack maps
7.
▲
by
dbg_nsk
9y ago
Absolutely agree with you about finalizers! However, please note that this "threadReaper" code is from JDK class, so, the problem can appear on every application that just use Timer class. Of course, there are many other examples
8.
▲
by
dbg_nsk
9y ago
The problem is that it all depends on the liveness of the variables. The same value on the stack can be a root at the begining of the method as the corresponding variable is still alive, and later it becomes useless as the variable is alrea
9.
▲
by
dbg_nsk
9y ago
hi, feel free to ask me any questions about the post