H
HN HRCB new | past | comments | ask | show | jobs | articles | domains | dashboard | seldon | network | factions | velocity | about hrcb
home / norlinder.nu / item 47137140
+0.32 Dissecting the CPU-memory relationship in garbage collection (OpenJDK 26) (norlinder.nu)
31 points by jonasn 1 days ago | 9 comments on HN | Neutral Editorial · v3.7 · 2026-02-25
Summary Education & Knowledge Access Acknowledges
This technical blog post analyzing garbage collection performance in Java does not directly address human rights. However, it demonstrates observable alignment with UDHR principles through its structural choices: free, accessible publication of technical knowledge without paywalls or registration barriers (Article 19), accessible design with alt text (Article 2), and public contribution to scientific advancement (Articles 26-27). The content operates neutrally on human rights dimensions but practices values of open access and knowledge democratization.
Article Heatmap
Preamble: ND — Preamble Preamble: No Data — Preamble P Article 1: ND — Freedom, Equality, Brotherhood Article 1: No Data — Freedom, Equality, Brotherhood 1 Article 2: +0.30 — Non-Discrimination 2 Article 3: ND — Life, Liberty, Security Article 3: No Data — Life, Liberty, Security 3 Article 4: ND — No Slavery Article 4: No Data — No Slavery 4 Article 5: ND — No Torture Article 5: No Data — No Torture 5 Article 6: ND — Legal Personhood Article 6: No Data — Legal Personhood 6 Article 7: ND — Equality Before Law Article 7: No Data — Equality Before Law 7 Article 8: ND — Right to Remedy Article 8: No Data — Right to Remedy 8 Article 9: ND — No Arbitrary Detention Article 9: No Data — No Arbitrary Detention 9 Article 10: ND — Fair Hearing Article 10: No Data — Fair Hearing 10 Article 11: ND — Presumption of Innocence Article 11: No Data — Presumption of Innocence 11 Article 12: ND — Privacy Article 12: No Data — Privacy 12 Article 13: ND — Freedom of Movement Article 13: No Data — Freedom of Movement 13 Article 14: ND — Asylum Article 14: No Data — Asylum 14 Article 15: ND — Nationality Article 15: No Data — Nationality 15 Article 16: ND — Marriage & Family Article 16: No Data — Marriage & Family 16 Article 17: ND — Property Article 17: No Data — Property 17 Article 18: ND — Freedom of Thought Article 18: No Data — Freedom of Thought 18 Article 19: +0.20 — Freedom of Expression 19 Article 20: ND — Assembly & Association Article 20: No Data — Assembly & Association 20 Article 21: ND — Political Participation Article 21: No Data — Political Participation 21 Article 22: ND — Social Security Article 22: No Data — Social Security 22 Article 23: ND — Work & Equal Pay Article 23: No Data — Work & Equal Pay 23 Article 24: ND — Rest & Leisure Article 24: No Data — Rest & Leisure 24 Article 25: ND — Standard of Living Article 25: No Data — Standard of Living 25 Article 26: +0.50 — Education 26 Article 27: +0.20 — Cultural Participation 27 Article 28: ND — Social & International Order Article 28: No Data — Social & International Order 28 Article 29: ND — Duties to Community Article 29: No Data — Duties to Community 29 Article 30: ND — No Destruction of Rights Article 30: No Data — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
Weighted Mean +0.32 Unweighted Mean +0.30
Max +0.50 Article 26 Min +0.20 Article 19
Signal 4 No Data 27
Confidence 10% Volatility 0.12 (Low)
Negative 0 Channels E: 0.6 S: 0.4
SETL 0.00 Balanced
FW Ratio 56% 9 facts · 7 inferences
Evidence: High: 2 Medium: 2 Low: 0 No Data: 27
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: 0.30 (1 articles) Security: 0.00 (0 articles) Legal: 0.00 (0 articles) Privacy & Movement: 0.00 (0 articles) Personal: 0.00 (0 articles) Expression: 0.20 (1 articles) Economic & Social: 0.00 (0 articles) Cultural: 0.35 (2 articles) Order & Duties: 0.00 (0 articles)
HN Discussion 4 top-level · 3 replies
jonasn 2026-02-24 14:23 UTC link
Hi HN, I'm the author of this post and a JVM engineer working on OpenJDK.

I've spent the last few years researching GC for my PhD and realized that the ecosystem lacked standard tools to quantify GC CPU overhead—especially with modern concurrent collectors where pause times don't tell the whole story.

To fix this blind spot, I built a new telemetry framework into OpenJDK 26. This post walks through the CPU-memory trade-off and shows how to use the new API to measure exactly what your GC is costing you.

I'll be around and am happy to answer any questions about the post or the implementation!

firefly2000 2026-02-25 22:12 UTC link
Are there plans to elucidate implicit GC costs as well?
cvoss 2026-02-25 22:13 UTC link
> This freed programmers from managing complex lifecycle management.

It also deceived programmers into failing to manage complex lifecycles. Debugging wasted memory consumption is a huge pain.

cogman10 2026-02-25 22:45 UTC link
At my work, one thing that I've often had to explain to devs is that the Parallel collector (and even the serial collector) are not bad just because they are old or simple. They aren't always the right tool, but for us who do a lot of batch data processing, it's the best collector around for that data pipeline.

Devs keep on trying to sneak in G1GC or ZGC because they hyper focus on pause time as being the only metric of value. Hopefully this new log:cpu will give us a better tool for doing GC time and computational costs. And for me, will make for a better way to argue that "it's ok that the parallel collector had a 10s pause in a 2 hour run".

spockz 2026-02-25 21:54 UTC link
Thank you for this interface! It will definitely help in tracking down GC related performance issues or in selecting optimal settings.

One thing that I still struggle with, is to see how much penalty our application threads suffer from other work, say GC. In the blog you mention that GC is not only impacting by cpu doing work like traversing and moving (old/live) objects but also the cost of thread pauses and other barriers.

How can we detect these? Is there a way we can share the data in some way like with OpenTelemetry?

Currently I do it by running a load on an application and retaining its memory resources until the point where it CPU skyrockets because of the strongly increasing GC cycles and then comparing the cpu utilisation and ratio between cpu used/work.

Edit: it would be interesting to have the GC time spent added to a span. Even though that time is shared across multiple units of work, at least you can use it as a datapoint that the work was (significantly?) delayed by the GC occurring, or waiting for the required memory to be freed.

jonasn 2026-02-25 22:18 UTC link
Great question! I actually just touched on this in another thread that went up right around the same time you asked this. It is clearly the next big frontier!

The short answer is: It's something I'm actively thinking about, but instrumenting micro-level events (like ZGC's load barriers or G1's write barriers) directly inside application threads without destroying throughput (or creating observer effects invalidating the measurements) is incredibly difficult.

jonasn 2026-02-25 22:54 UTC link
Every GC algorithm in HotSpot is designed with a specific set of trade-offs in mind.

ZGC and G1 are fantastic engineering achievements for applications that require low latency and high responsiveness. However, if you are running a pure batch data pipeline where pause times simply don't matter, Parallel GC remains an incredibly powerful tool and probably the one I would pick for that scenario. By accepting the pauses, you get the benefit of zero concurrent overhead, dedicating 100% of the CPU to your application threads while they are running.

Editorial Channel
What the content says
+0.10
Article 19 Freedom of Expression
Medium Practice
Editorial
+0.10
SETL
0.00

Content shares technical knowledge and research freely without gatekeeping, supporting freedom of information expression.

ND
Preamble Preamble
null

Content does not engage with UDHR preamble themes of human dignity, freedom, or justice.

ND
Article 1 Freedom, Equality, Brotherhood
null

Content addresses technical equality (equal treatment of CPU and memory costs) but not human equality or dignity.

ND
Article 2 Non-Discrimination
High Practice

Not engaged.

ND
Article 3 Life, Liberty, Security
null

No engagement with right to life or security.

ND
Article 4 No Slavery
null

No engagement with slavery or servitude.

ND
Article 5 No Torture
null

No engagement with torture or cruel treatment.

ND
Article 6 Legal Personhood
null

No engagement with legal personhood.

ND
Article 7 Equality Before Law
null

No engagement with equality before law.

ND
Article 8 Right to Remedy
null

No engagement with legal remedies.

ND
Article 9 No Arbitrary Detention
null

No engagement with arbitrary arrest or detention.

ND
Article 10 Fair Hearing
null

No engagement with fair trial.

ND
Article 11 Presumption of Innocence
null

No engagement with criminal responsibility or ex post facto.

ND
Article 12 Privacy
null

No engagement with privacy or correspondence.

ND
Article 13 Freedom of Movement
null

No engagement with freedom of movement.

ND
Article 14 Asylum
null

No engagement with asylum or refuge.

ND
Article 15 Nationality
null

No engagement with nationality.

ND
Article 16 Marriage & Family
null

No engagement with family or marriage.

ND
Article 17 Property
null

No engagement with property rights.

ND
Article 18 Freedom of Thought
null

No engagement with freedom of thought, conscience, or religion.

ND
Article 20 Assembly & Association
null

No engagement with freedom of peaceful assembly or association.

ND
Article 21 Political Participation
null

No engagement with political participation.

ND
Article 22 Social Security
null

No engagement with social security or welfare.

ND
Article 23 Work & Equal Pay
null

No engagement with labor rights or fair wages.

ND
Article 24 Rest & Leisure
null

No engagement with rest and leisure.

ND
Article 25 Standard of Living
null

No engagement with health, food, housing, or medical care.

ND
Article 26 Education
High Practice

Content provides technical education accessible to engineers and researchers.

ND
Article 27 Cultural Participation
Medium Practice

Content facilitates participation in scientific and technical advancement.

ND
Article 28 Social & International Order
null

No engagement with social and international order.

ND
Article 29 Duties to Community
null

No engagement with community or limitations on rights.

ND
Article 30 No Destruction of Rights
null

No engagement with preventing destruction of rights.

Structural Channel
What the site does
Domain Context Profile
Element Modifier Affects Note
Privacy
No privacy policy or data collection practices observable on-domain.
Terms of Service
No terms of service observable on-domain.
Accessibility +0.15
Article 2 Article 26
Blog includes alt text for images and semantic HTML structure with schema.org markup, supporting accessibility for all readers.
Mission
No explicit organizational mission statement observable on-domain.
Editorial Code
No editorial code of conduct observable on-domain.
Ownership
Personal blog; no corporate ownership issues identified.
Access Model +0.10
Article 19 Article 26 Article 27
Content freely accessible without paywall or registration, supporting open access to knowledge and information.
Ad/Tracking
No advertising or tracking mechanisms observable in provided content.
+0.25
Article 26 Education
High Practice
Structural
+0.25
Context Modifier
+0.25
SETL
ND

Free, accessible blog format supports right to education by enabling free access to technical knowledge and learning resources.

+0.15
Article 2 Non-Discrimination
High Practice
Structural
+0.15
Context Modifier
+0.15
SETL
ND

Accessible design with alt text for images and semantic HTML supports non-discrimination in access to technical knowledge.

+0.10
Article 19 Freedom of Expression
Medium Practice
Structural
+0.10
Context Modifier
+0.10
SETL
0.00

Blog freely accessible without paywall or registration barriers enables open dissemination of technical information.

+0.10
Article 27 Cultural Participation
Medium Practice
Structural
+0.10
Context Modifier
+0.10
SETL
ND

Free publication of technical research contributes to scientific progress accessible to all.

ND
Preamble Preamble
null

No structural signals related to preamble values.

ND
Article 1 Freedom, Equality, Brotherhood
null

No structural signals related to equality among humans.

ND
Article 3 Life, Liberty, Security
null

No structural signals related to security of person.

ND
Article 4 No Slavery
null

No structural signals.

ND
Article 5 No Torture
null

No structural signals.

ND
Article 6 Legal Personhood
null

No structural signals.

ND
Article 7 Equality Before Law
null

No structural signals.

ND
Article 8 Right to Remedy
null

No structural signals.

ND
Article 9 No Arbitrary Detention
null

No structural signals.

ND
Article 10 Fair Hearing
null

No structural signals.

ND
Article 11 Presumption of Innocence
null

No structural signals.

ND
Article 12 Privacy
null

No structural signals.

ND
Article 13 Freedom of Movement
null

No structural signals.

ND
Article 14 Asylum
null

No structural signals.

ND
Article 15 Nationality
null

No structural signals.

ND
Article 16 Marriage & Family
null

No structural signals.

ND
Article 17 Property
null

No structural signals.

ND
Article 18 Freedom of Thought
null

No structural signals.

ND
Article 20 Assembly & Association
null

No structural signals.

ND
Article 21 Political Participation
null

No structural signals.

ND
Article 22 Social Security
null

No structural signals.

ND
Article 23 Work & Equal Pay
null

No structural signals.

ND
Article 24 Rest & Leisure
null

No structural signals.

ND
Article 25 Standard of Living
null

No structural signals.

ND
Article 28 Social & International Order
null

No structural signals.

ND
Article 29 Duties to Community
null

No structural signals.

ND
Article 30 No Destruction of Rights
null

No structural signals.

Supplementary Signals
Epistemic Quality
0.83 medium claims
Sources
0.8
Evidence
0.8
Uncertainty
0.8
Purpose
0.9
Propaganda Flags
0 techniques detected
Solution Orientation
0.75 solution oriented
Reader Agency
0.8
Emotional Tone
measured
Valence
+0.1
Arousal
0.3
Dominance
0.5
Stakeholder Voice
0.35 2 perspectives
Speaks: institution
About: individualscorporation
Temporal Framing
mixed medium term
Geographic Scope
global
Complexity
technical high jargon domain specific
Transparency
0.50
✓ Author
Event Timeline 3 events
2026-02-26 00:00 eval_success Evaluated: Neutral (0.32)
2026-02-25 23:27 eval_success Evaluated: Neutral (0.36)
2026-02-25 23:01 eval_success Evaluated: Neutral (0.33)
About HRCB | By Right | HN Guidelines | HN FAQ | Source | UDHR | RSS
build 0ab3844+kau3 · deployed 2026-02-26 00:11 UTC · evaluated 2026-02-26 00:14:22 UTC