{"guid":"e36618fa-b7a8-51c8-834b-3ccbf8098fa4","title":"From Idea to JEP: An OpenJDK Developer’s Journey to Improve Profiling","subtitle":null,"slug":"gpn24-499-from-idea-to-jep-an-openjdk-developer-s-journey-to-improve-profiling","link":"https://cfp.gulas.ch/gpn24/talk/9MNRXX/","description":"OpenJDK is the main project behind Java and already has a profiler for performance assessment. But till recently, it wasn't a good one. So four years ago, only weeks into my first job, I decided to change that. But guess what: Getting a big feature into OpenJDK/Java's runtime isn't as easy as I thought.\n\nIn this talk, I chronicle my journey of getting a new profiler into JDK 25. It's a tale of blood, sweat, and C++.\n\nLicensed to the public under https://creativecommons.org/licenses/by/4.0/","original_language":"eng","persons":["Johannes Bechberger"],"view_count":39,"promoted":false,"date":"2026-06-06T20:00:00.000+02:00","release_date":"2026-06-06T00:00:00.000+02:00","updated_at":"2026-06-13T20:30:07.127+02:00","tags":["9MNRXX","2026","gpn24","Software and Infrastructure","ZKM Vortragssaal","gpn24-eng","Day 3"],"length":2775,"duration":2775,"thumb_url":"https://static.media.ccc.de/media/events/gpn/gpn24/499-e36618fa-b7a8-51c8-834b-3ccbf8098fa4.jpg","poster_url":"https://static.media.ccc.de/media/events/gpn/gpn24/499-e36618fa-b7a8-51c8-834b-3ccbf8098fa4_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/gpn/gpn24/499-e36618fa-b7a8-51c8-834b-3ccbf8098fa4.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/gpn/gpn24/499-e36618fa-b7a8-51c8-834b-3ccbf8098fa4.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/gpn24-499-from-idea-to-jep-an-openjdk-developer-s-journey-to-improve-profiling","url":"https://api.media.ccc.de/public/events/e36618fa-b7a8-51c8-834b-3ccbf8098fa4","conference_title":"Gulaschprogrammiernacht 24","conference_url":"https://api.media.ccc.de/public/conferences/gpn24","related":[],"recordings":[{"size":210,"length":2775,"mime_type":"video/webm;codecs=av01","language":"eng","filename":"gpn24-499-eng-From_Idea_to_JEP_An_OpenJDK_Developers_Journey_to_Improve_Profiling_av1-hd.webm","state":"new","folder":"av1-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2026-06-07T00:43:28.080+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn24/av1-hd/gpn24-499-eng-From_Idea_to_JEP_An_OpenJDK_Developers_Journey_to_Improve_Profiling_av1-hd.webm","url":"https://api.media.ccc.de/public/recordings/101271","event_url":"https://api.media.ccc.de/public/events/e36618fa-b7a8-51c8-834b-3ccbf8098fa4","conference_url":"https://api.media.ccc.de/public/conferences/gpn24"},{"size":298,"length":2775,"mime_type":"video/webm","language":"eng","filename":"gpn24-499-eng-From_Idea_to_JEP_An_OpenJDK_Developers_Journey_to_Improve_Profiling_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2026-06-06T23:35:17.398+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn24/webm-hd/gpn24-499-eng-From_Idea_to_JEP_An_OpenJDK_Developers_Journey_to_Improve_Profiling_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/101258","event_url":"https://api.media.ccc.de/public/events/e36618fa-b7a8-51c8-834b-3ccbf8098fa4","conference_url":"https://api.media.ccc.de/public/conferences/gpn24"},{"size":110,"length":2775,"mime_type":"video/webm","language":"eng","filename":"gpn24-499-eng-From_Idea_to_JEP_An_OpenJDK_Developers_Journey_to_Improve_Profiling_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2026-06-06T23:17:50.353+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn24/webm-sd/gpn24-499-eng-From_Idea_to_JEP_An_OpenJDK_Developers_Journey_to_Improve_Profiling_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/101257","event_url":"https://api.media.ccc.de/public/events/e36618fa-b7a8-51c8-834b-3ccbf8098fa4","conference_url":"https://api.media.ccc.de/public/conferences/gpn24"},{"size":42,"length":2775,"mime_type":"audio/mpeg","language":"eng","filename":"gpn24-499-eng-From_Idea_to_JEP_An_OpenJDK_Developers_Journey_to_Improve_Profiling_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2026-06-06T22:50:27.700+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn24/mp3/gpn24-499-eng-From_Idea_to_JEP_An_OpenJDK_Developers_Journey_to_Improve_Profiling_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/101255","event_url":"https://api.media.ccc.de/public/events/e36618fa-b7a8-51c8-834b-3ccbf8098fa4","conference_url":"https://api.media.ccc.de/public/conferences/gpn24"},{"size":100,"length":2775,"mime_type":"video/mp4","language":"eng","filename":"gpn24-499-eng-From_Idea_to_JEP_An_OpenJDK_Developers_Journey_to_Improve_Profiling_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2026-06-06T22:50:23.592+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn24/h264-sd/gpn24-499-eng-From_Idea_to_JEP_An_OpenJDK_Developers_Journey_to_Improve_Profiling_sd.mp4","url":"https://api.media.ccc.de/public/recordings/101254","event_url":"https://api.media.ccc.de/public/events/e36618fa-b7a8-51c8-834b-3ccbf8098fa4","conference_url":"https://api.media.ccc.de/public/conferences/gpn24"},{"size":27,"length":2775,"mime_type":"audio/opus","language":"eng","filename":"gpn24-499-eng-From_Idea_to_JEP_An_OpenJDK_Developers_Journey_to_Improve_Profiling_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2026-06-06T22:50:18.182+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn24/opus/gpn24-499-eng-From_Idea_to_JEP_An_OpenJDK_Developers_Journey_to_Improve_Profiling_opus.opus","url":"https://api.media.ccc.de/public/recordings/101253","event_url":"https://api.media.ccc.de/public/events/e36618fa-b7a8-51c8-834b-3ccbf8098fa4","conference_url":"https://api.media.ccc.de/public/conferences/gpn24"},{"size":277,"length":2775,"mime_type":"video/mp4","language":"eng","filename":"gpn24-499-eng-From_Idea_to_JEP_An_OpenJDK_Developers_Journey_to_Improve_Profiling_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2026-06-06T22:44:58.812+02:00","recording_url":"https://cdn.media.ccc.de/events/gpn/gpn24/h264-hd/gpn24-499-eng-From_Idea_to_JEP_An_OpenJDK_Developers_Journey_to_Improve_Profiling_hd.mp4","url":"https://api.media.ccc.de/public/recordings/101249","event_url":"https://api.media.ccc.de/public/events/e36618fa-b7a8-51c8-834b-3ccbf8098fa4","conference_url":"https://api.media.ccc.de/public/conferences/gpn24"}]}