Clément Grégoire
banner
lectem.bsky.social
Clément Grégoire
@lectem.bsky.social
French C++ developer, consultant & co-founder @ siliceum.

Performance optimization, multithreading, rendering APIs and game engines.

I know too much about Webkit and JS for my own good.

I do reverse engineering for fun!
So UE5 has a tool that generates perf reports, with a whole Metadata generation thing (in XML) that allows to customize reports.

But it still displays averages for timings everywhere.

Oh, and their perf bench tool is implemented using 3layers of different technologies.
October 13, 2025 at 12:03 PM
Finally took the time to buy a licence for Fork. Truly the best UI for git, as it's the only one that never disappointed me. It's only missing Linux support but otherwise well worth its price.
@[email protected]
September 23, 2025 at 8:42 AM
New blog post about my journey into the ETW depths, I had long wanted to look into it, now I'm starting to regret it (just a bit).
But this is great if you want to write your own tools for profiling!

www.siliceum.com/en/blog/post...
ETW Events and thread names - siliceum
Thread names are one of the most crucial information one can get system activity. However Windows ETW does not make it easy to retrieve!
www.siliceum.com
August 7, 2025 at 8:10 AM
@openvibe.social the app is really great except for one thing killing the experience for me on android:

No way to copy a link or open it on your browser because you hide the webview toolbar!
July 11, 2025 at 5:29 PM
While writing test code for an article on sampling profilers, I ended up in analyzing methods for high resolution sleeps on Windows.
Follow me into the rabbit-hole of high resolution timers!

www.siliceum.com/en/blog/post...
Windows and high resolution timers - siliceum
While writing test code for an article on sampling profilers, I ended up in analyzing methods for high resolution sleeps on Windows. Follow me into the rabbit-hole of high resolution thread sleeps and...
www.siliceum.com
June 26, 2025 at 8:26 AM
Visiting Nvidia GTC today, if you're there let's meet!
#GTCParis
June 12, 2025 at 10:22 AM
Tracy 0.12 was just released with thread wake-up visualization, added by yours truly!
Check it out github.com/wolfpld/trac...
Release Tracy Profiler 0.12 · wolfpld/tracy
For a more detailed change list, see https://github.com/wolfpld/tracy/blob/v0.12.0/NEWS. CPU topology includes die To enable better insight into potential performance pitfalls the profiler will now...
github.com
June 3, 2025 at 5:33 AM
Just discovered @ap.brid.gy that let's you interact with Mastodon users!

But it requires people from there to enable it too so... A bit limited?
May 27, 2025 at 11:06 AM
Implemented a simple String Interning class for a client last week.
Physical memory usage:

Before: 1.9GB
After: 1.5GB
Using a preloaded cache: 1.3GB

I might be on to something here...
May 13, 2025 at 4:08 PM
Reposted by Clément Grégoire
New blog post! "Load store conflicts", in which we look at some performance sensitive code that has surprisingly dramatic performance swings based on the compiler and the microarchitecture used. Reposts appreciated!

zeux.io/2025/05/03/l...
Load-store conflicts
meshoptimizer implements several geometry compression algorithms that are designed to take advantage of redundancies common in mesh data and decompress quickly - targeting many gigabytes per second in...
zeux.io
May 4, 2025 at 2:37 PM
This is the third time I find issues due to codebases using rpmalloc this year...

Spinlocking without any kind of pause/yield is such a bad idea.
One of my threads got stuck for 4.5s !!!!

At this point, I can only advise to stop using rpmalloc.
April 22, 2025 at 8:41 AM
Really @microsoft.com ?

850MB for a godamn photo viewer that is slower and has a worse UX than the one shipped with Windows XP ?!
April 8, 2025 at 12:52 PM
Reposted by Clément Grégoire
One thing people really like about Superluminal is that it Just Works, and we’re trying hard to get that same experience on Linux.

But this platform sometimes really feels like it’s actively fighting against anything “just working” and it would really prefer you Do The Work tyvm.
April 4, 2025 at 1:29 PM
Reposted by Clément Grégoire
Graphics Programming weekly - Issue 385 - March 30th, 2025 www.jendrikillner.com/post/graphic...
April 1, 2025 at 2:22 PM
Following my article from yesterday, this link was shared on the DirectX discord. It's a community ran database of information about GPUs and their features.

Pretty awesome and very useful to check compatibility!
D3d12infoDB
d3d12infodb.boolka.dev
March 28, 2025 at 12:54 PM
Finally published an article I wrote eons ago about D3D12 descriptors and easy optimisations that you can do.

This can save you both CPU time and memory!

www.siliceum.com/en/blog/post...
Optimizing copy of null descriptors in D3D12 - siliceum
Discover how a few simple tweaks can help save CPU time and memory when using Direct3D12 desciptors.
www.siliceum.com
March 27, 2025 at 9:35 AM
I'm always surprised by the fact that the first answer to "we have perf problems" is to change the language.

I mean, going native is obvious. But why didn't they start by using a proper profiler with instrumentation is beyond me.
Today we're thrilled to announce our effort to port the TypeScript compiler and language service to native code, gaining a 10x speed boost in build times and editor responsiveness!

devblogs.microsoft.com/typescript/t...
A 10x Faster TypeScript - TypeScript
Embarking on a native port of the existing TypeScript compiler and toolset to achieve a 10x performance speed-up.
devblogs.microsoft.com
March 12, 2025 at 5:16 AM
Lost almost a day due to newer DbgHelp versions suddenly failing to load my .pdb files...

Turns out they changed a small check that now requires all sizes to be 8bytes aligned.

The intent was clearly to check that alignment of array entries was correct, but it ended up checking the size too...
February 17, 2025 at 10:25 PM
I open-sourced a library to help you find race conditions!

Great for those of you rewriting containers ( @pagghiu.bsky.social @jeremy.laumon.name ?) or people like me who work on codebases with a lot of people and you suspect things to be racy...

Feedback is welcome!

github.com/Lectem/BadAc...
GitHub - Lectem/BadAccessGuards: Find race conditions at low cost by instrumenting containers
Find race conditions at low cost by instrumenting containers - Lectem/BadAccessGuards
github.com
February 13, 2025 at 2:49 PM
C++ committee : still fighting about serialization

Gamedev industry: Uses pdb to do hot reloading (live++), runtime visualisation and perf analysis (D0), runtime memory edit (playerunknownproductions.net/news/run-tim...)
PLAYERUNKNOWN Productions - Run-time memory editing with PDB files
This blog post describes the use of PDB files to automatically generate type descriptions.
playerunknownproductions.net
February 10, 2025 at 8:00 PM
Reposted by Clément Grégoire
“Celebrated are the minimal dependencies, the humble function that just quietly does the job, the code that doesn't need to be touched for years because it was done right once.” lucumr.pocoo.org/2025/1/24/bu...
Build It Yourself
We need a vibe shift on dependencies in programming.
lucumr.pocoo.org
January 24, 2025 at 12:46 PM
Whoever said linux API/design is better than Win32 never tried to retrieve stack information for a thread (well, task) given its TID.

You may start parsing `/proc/self/task/tid/maps` until you realize per-thread stack info were removed (too slow, obviously since there's no dedicated API).
January 23, 2025 at 11:33 PM
Apple platforms support when writing low level code really is a pain.
- Requires a MacOS machine to even compile
- C docs are pretty much inexistant
- pthread_*_np require reading impl to know what is available ("hard" to find but available at least)
January 19, 2025 at 10:23 PM
Reposted by Clément Grégoire
Okay, Matthew Ball's The State of Video Gaming in 2025 is a really monumental achievement and an absolute gold mine of stats that put the current game industry into its economic context. Strongly recommend. www.matthewball.co/all/stateofv...
PRESENTATION: The State of Video Gaming in 2025 — MatthewBall.co
A (free) 220 page presentation on the past, present and potential future of the video game industry.
www.matthewball.co
January 18, 2025 at 2:31 AM