AOT Compilers It has been normal and expected for a long long time that any machine code they spit out would come with a bunch of metadata that is meant to be used by different pieces of the target system. There is of course symbol names for functions, which allow
A few weeks ago I was chatting with coralina and she linked me 4:19 of The Zipf Mystery but every time he repeats a word it loops. It's an instance of a meme format I don't think I had seen before. The basic conceit is,
Hi! It's me again, the timotimo you may know & love from the Raku community. I used to have a blog years ago when I was writing and posting reports for a TPF Grant for the Rakudo / MoarVM profilers, and some other stuff related to Rakudo and MoarVM
Last time I said "just a little bit of work on the heap snapshots should result in a useful tool. Here's my report for the first useful pieces of the Heap Snapshot UI!
MoarVM is getting a new subsystem that allows users to programmatically configure specific parts of the runtime, such as what parts of the program the profiler should measure.
I have long postponed working on the heap snapshot profiler part of the Performance Analysis grant. Now there is a bit of progress to report on and some detailed look at the heap snapshot file format.
Allocating objects is expensive. The shorter an object's lifetime is, the less expensive it is in total. But what happens to objects that only live for a few instructions? This post shows off how "scalar replacement" looks in the profiler frontend.
Getting an overview of a program's performance also means you've got to have an idea which routines are responsible for what. A "flame graph" does this very well.
A week and a half after the previous work report on the MoarVM profiler frontend, here is another. This time it features changes to the overview page and a search feature for the call graph.
A user on StackOverflow asked "What is the best way for dealing with very big files?". The end of the question asks "Did I erach the maximum performance for the current version of Perl6?". In this post I'll go through multiple implementations of splitting up a FASTA file.
I got a whole lot of work done since the previous post. The "Routines" tab is now quite useful, and there's a "Call Graph Explorer" as well! Check the full post for download/usage instructions