{"id":367,"date":"2016-04-07T14:26:14","date_gmt":"2016-04-07T14:26:14","guid":{"rendered":"http:\/\/halobates.de\/blog\/?p=367"},"modified":"2016-04-07T14:28:38","modified_gmt":"2016-04-07T14:28:38","slug":"overview-of-last-branch-records-lbrs-on-intel-cpus","status":"publish","type":"post","link":"http:\/\/halobates.de\/blog\/p\/367","title":{"rendered":"Overview of Last Branch Records (LBRs) on Intel CPUs"},"content":{"rendered":"<p>I wrote a two part article on theory and practice of Last Branch<br \/>\nRecords using Linux perf. They were published on LWN.<\/p>\n<p>This includes the background (what is a last branch record and why<br \/>\nbranch sampling), what you can use it for in perf, like hot path<br \/>\nprofiling, frame pointerless callgraphs, or automatic micro benchmarks,<br \/>\nand also other uses like continuous compiler feedback.<\/p>\n<p>The articles are now freely available:<\/p>\n<p>Part 1: <a href=\"http:\/\/lwn.net\/Articles\/680985\/\">Introduction of Last Branch Records<\/a><br \/>\nPart 2: <a href=\"http:\/\/lwn.net\/Articles\/680996\">Advanced uses of Last Branch Records<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I wrote a two part article on theory and practice of Last Branch Records using Linux perf. They were published on LWN. This includes the background (what is a last branch record and why branch sampling), what you can use it for in perf, like hot path profiling, frame pointerless callgraphs, or automatic micro benchmarks, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[7,1],"tags":[],"_links":{"self":[{"href":"http:\/\/halobates.de\/blog\/wp-json\/wp\/v2\/posts\/367"}],"collection":[{"href":"http:\/\/halobates.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/halobates.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/halobates.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/halobates.de\/blog\/wp-json\/wp\/v2\/comments?post=367"}],"version-history":[{"count":3,"href":"http:\/\/halobates.de\/blog\/wp-json\/wp\/v2\/posts\/367\/revisions"}],"predecessor-version":[{"id":370,"href":"http:\/\/halobates.de\/blog\/wp-json\/wp\/v2\/posts\/367\/revisions\/370"}],"wp:attachment":[{"href":"http:\/\/halobates.de\/blog\/wp-json\/wp\/v2\/media?parent=367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/halobates.de\/blog\/wp-json\/wp\/v2\/categories?post=367"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/halobates.de\/blog\/wp-json\/wp\/v2\/tags?post=367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}