I've been wanting to start a blog for a while, and finally decided to bite the bullet.

The first article of hopefully many more to come is about, you guessed it, profiling & optimization.

Boosts appreciated!

https://rovarma.com/articles/optimizing-libdwarf-eh-frame-enumeration/

Optimizing libdwarf .eh_frame enumeration | Ritesh Oedayrajsingh Varma

For the Linux version of Superluminal we rely on unwind information stored in the .eh_frame section in a binary to perform stack unwinding. We’ll go over optimizations we made to libdwarf that greatly improve the performance of retrieving this information.

@rovarma eeek, I seem to miss some basis to be able to read through 😅

If you don't have a next topic already planned, you could write a crash course for people like me!
I'll read the next post anyway tho, so great that you've started this! 💜

@iralmeida what did you struggle the most with? I think I know, but would be good to know for sure :-)

@rovarma I'm not too sure actually!

Most of the things (dwarf, rax etc) I have heard about before, the eh_frame I hadn't, so I learned sth! :D
I got some more understanding from the linked article with "more details", so I think I may be too fuzzy about stack frames, the structure of binaries and how do debug symbols really work. Then I'm trying to decode rather than reading the articles because I'm trying to piece together the context/domain of the optimization.
Does it match your guess?

@iralmeida

> Does it match your guess?

Yep! It’s one of the things I was worried about.

I originally had a section at the start explaining the basics of stack frames, frame pointers etc. But a single section can’t really do it justice, it needs a full article by itself, so I scrapped it. The end result is indeed that some basic knowledge about stacks is needed :-(

Awesome that you read up on it and were able to follow it afterwards! Glad you liked it :-)

@rovarma post that section as a separate article! :D

and well... thank you for getting me to go read up on stuff I should know 💜