Clément Grégoire

3.9K posts

Clément Grégoire banner
Clément Grégoire

Clément Grégoire

@lectem

Mostly moved to the place where the sky is blue. Performance, GPU APIs, multithreading and game engines specialist @siliceum. Does reverse engineering for fun.

Clermont-Ferrand, France Sumali Ağustos 2014
531 Sinusundan395 Mga Tagasunod
Clément Grégoire
@rfleury @matiasgoldberg Did you start the kernel part? Cause you'll have to parse (barely documented) text based files instead of proper APIs, for which the content may change whenever. At least you can read the kernel source to figure stuff out but that's not better than what the tool chains have.
English
0
0
1
1.2K
Ryan Fleury
Ryan Fleury@rfleury·
For those wondering why there has historically been a lack of solid graphical Linux debuggers, this is why. Everything is like this. This is a glimpse into the reality of *just reading the bare minimum amount of information stored in the dominant debug info format* on Linux - never mind process control, toolchain variability, lack of standardization of *thread-local-storage* or *module loading*, for Christ's sake. Around every corner is friction and variability. No vision that connects with the user. No design taste. No consideration for the complexity required to use data formats or APIs from scratch. Eggheaded overly-generic academic slop specifications. It's just terrible. Luckily, we're (finally) close, but this is why it's not trivial.
English
13
12
501
27.8K
Ryan Fleury
Ryan Fleury@rfleury·
Thank you, DWARF.
Ryan Fleury tweet media
English
15
3
248
27.5K
Clément Grégoire
Clément Grégoire@lectem·
@ForrestTheWoods I ended up using zigcc which is the only easily accessed toolchain targeting an old glibc. The fact we still need these kind of things (or go musl, which has its own issue) is sad.
English
0
0
2
107
Forrest Smith
Forrest Smith@ForrestTheWoods·
incredibly infuriating that glibc is system-level and not *trivially* app-level. system has 2.34 and app needs 2.35. Therefore the only solution is… build a 44 gigabyte docker image. FML. stupid bc glibc has great backcompat with old kernels! Sadly no one to fire 😭
English
16
2
74
27.9K
Clément Grégoire
Clément Grégoire@lectem·
@jedisct1 Removing the perl requirement when? Insane we still need this to build in 2026
English
0
0
0
35
Stefan Reinalter
Stefan Reinalter@molecularmusing·
I wonder where the build overhead is coming from when compiling in the VS IDE (2026 in this case). Recompiling through Live++ is consistently faster, 6 times as fast in this case. Even compiling & linking & patching is much faster than just compiling a file through VS. @jbevain ?
Stefan Reinalter tweet mediaStefan Reinalter tweet media
English
1
1
20
3.8K
zooko🛡🦓🦓🦓 ⓩ
@debasishg The `smalloc` memory allocator is an experiment in writing a memory allocator that leverages this insight to the max. #the-big-idea" target="_blank" rel="nofollow noopener">github.com/zooko/smalloc?…
zooko🛡🦓🦓🦓 ⓩ tweet media
English
3
0
19
1.1K
Debasish (দেবাশিস্) Ghosh 🇮🇳
The blog post "Virtual Memory Tricks" by Niklas Gray explores clever, underutilized ways to leverage operating system virtual memory features (via APIs like VirtualAlloc or mmap) to solve common programming problems efficiently. Some of the key techniques discussed are .. • reserving extremely large virtual address spaces for arrays (e.g., billions of elements) without consuming physical RAM until pages are actually accessed, enabling simple, fast fixed-size data structures like global game object arrays or huge lookup tables. • using virtual memory reservations to generate guaranteed-unique application-wide IDs (by returning pointers from reserved blocks) • implementing an "end-of-page allocator" that places allocations at page boundaries to catch out-of-bounds or use-after-free bugs via immediate access violations, and avoiding fragmentation issues since virtual memory allows non-contiguous physical pages. • implementing a gapless ring buffer that uses shared mappings to handle wraparound seamlessly without extra boundary logic. Overall, the author argues that directly controlling virtual memory unlocks powerful, scalable, and safer memory management patterns beyond conventional malloc usage. link to the blog post: ruby0x1.github.io/machinery_blog…
English
3
45
331
22K
Zac Bowden
Zac Bowden@zacbowden·
BREAKING: Microsoft just announced several major changes to Windows 11 in an effort to win back user trust and evolve the platform into something people will actually want to use over macOS and Linux! It's a huge announcement that addresses Windows 11's biggest problems today, tackling core fundamental issues such as unreliable system performance, UX consistency, AI bloat and general enshittification. Microsoft has confirmed that this year, it WILL be reducing where ads and Copilot appear throughout the system, including in Start, Widgets, Notepad, Photos, and more! File Explorer and Windows Search will be upgraded with improved performance and capabilities that make finding apps and files much faster and easier. The OS will become lighter with less RAM and system utilization at idle, making it smoother to run on low end hardware with limited memory. These improvements will also benefit high-end PCs too. Windows Update will be improved with more granular controls and the ability to postpone updates for longer, along with reducing how often the OS needs to restart to install an update. Microsoft has also confirmed that it's bringing back fan favourite features such as the ability to move the Taskbar! It's also working to update more areas of the system shell with modern WinUI designs, which should make Windows 11 feel more coherent and complete. There's much more in the announcement, and it honestly all sounds too good to be true. Microsoft really is listening to feedback, and is eager to make Windows the BEST desktop OS on the market. More details including when these changes will arrive in the link! windowscentral.com/microsoft/wind…
Zac Bowden tweet media
English
1.3K
473
5.9K
1.9M
Clément Grégoire
Clément Grégoire@lectem·
@MatRopert Like, people forget to await, pile up bad continuations, mishandle promises, forget about them, use await as ducktape. And then lifecycle issues appear, nothing is really ordered properly because. There are always event based systems at some point, which do not mix well with that
English
0
0
0
10
Clément Grégoire
Clément Grégoire@lectem·
@MatRopert I have mixed feelings about this. In theory coroutines (just as fibers) are a silver bullet. In practice I've seen enough crappy async/await usage in other languages (mostly JS-based) that I really fear what the lambda dev / LLM will write. Going to be a suspension point hell.
English
1
0
0
45
Mathieu Ropert
Mathieu Ropert@MatRopert·
I've seen some coroutine usage in C# in real code and it immediately clicked for me on why I'd want them in C++. I'm starting to feel like all those generators computing Fibonacci we've put in talks slideware for the past few years have been a detriment to the feature interest.
English
2
0
2
418
Vittorio Romeo
Vittorio Romeo@supahvee1234·
@lectem I agree, but being accurate is important. I regret not double-checking the compiler build.
English
1
0
2
58
Vittorio Romeo
Vittorio Romeo@supahvee1234·
I made a mistake in my original benchmarks: the Docker image I used had internal GCC assertions enabled. I re-measured everything on a proper build, and times are ~50% faster across the board. The article has been updated with the correct data. I apologize for the confusion.
Vittorio Romeo@supahvee1234

Fast iteration is the key to developer happiness. 🚀 I took a very early look at C++26 Reflection in GCC 16 to see if it would ruin my "fast compile" workflow. Here are my findings! vittorioromeo.com/index/blog/ref… #cpp #gamedev #programming

English
1
0
18
1.7K
Clément Grégoire
Clément Grégoire@lectem·
@supahvee1234 Yeah that "put it in the stdlib" and "it's a QoI issue" mindset has been and will keep killing the lang. It's not like we didn't have so many precedents (move, forward, atomic,...). Welp
English
0
0
4
291
Clément Grégoire
Clément Grégoire@lectem·
Ever wrote spin-locks or had to debug them? I have, and I got tired of seeing (and writing) crappy ones, so I did a real investigation this time. Spoiler: trust your OS. siliceum.com/en/blog/post/s…
English
0
1
0
77
Clément Grégoire
Clément Grégoire@lectem·
@ashvardanian Oh yeah ofc, if you wanted to spy properly you'd have the knowledge to conceal your app, not expose it to scrutiny with such vmem usage 😂
English
0
0
1
30
Ash Vardanian
Ash Vardanian@ashvardanian·
@lectem Even if you spy on people, there are more efficient/professional ways to do that 😅 With how effective "Spotlight" is at finding a program by name among 50 binaries w/out spelling mistakes, I doubt they are very good at spying.
English
1
0
2
25
Ash Vardanian
Ash Vardanian@ashvardanian·
For context: that process has read 400+ GB from disk. For what, exactly? Likely swap mismanagement. Not unrelated: the background window is a blank, occasionally blinking VS Code editor. Apparently, 5 tabs of ~10 KB text files on a $3K machine in 2025 is asking too much. Can't wait for @zeddotdev to become a feature-complete replacement 🤞
Ash Vardanian tweet media
Ash Vardanian@ashvardanian

macOS wallpaper process: 400+ GB of virtual address space. From a $4T consumer electronics & software company, this is embarrassing. And somehow Windows is still worse — but I guess they’re a “Cloud + AI” company now 🤷‍♂️

English
2
0
22
4.8K
Clément Grégoire
Clément Grégoire@lectem·
@BlablaLinux Bah un peu, le fait d'aller telecharger et installer des trucs venus d'un repo non sécurisé en général, de façon automatique
Français
0
0
1
15
BlablaLinux
BlablaLinux@BlablaLinux·
@lectem Ce qui te gêne c'est la tâche Cron ? Chacun est LIBRE de mettre en place ou non. Personne n'a le couteau sous la gorge. Je prends alors l'exemple de PVE Script local avec téléchargement automatique de scripts ! Même chose, un script peut être compris.
Français
1
0
0
43
BlablaLinux
BlablaLinux@BlablaLinux·
1/3 🚨 Alerte SysAdmin : Je ne mets plus jamais ma liste anti-IA à jour manuellement, et vous devriez faire de même 🤯 Les listes de bots d'IA changent toutes les semaines. Je n'ai pas de temps à perdre avec ça.
Français
5
4
32
10.6K
BlablaLinux
BlablaLinux@BlablaLinux·
3/3 Je gagne du temps et je dors tranquille, la maintenance se fait toute seule 🛡️ 👉 L'automatisation, c'est par ici (Section 5) : #h-5-automatisation-de-la-mise-à-jour-de-la-liste-de-blocage" target="_blank" rel="nofollow noopener">wiki.blablalinux.be/fr/blocage-rob… #automatisation #cron #nginx #npm #docker
Français
2
3
13
1.6K
Wumpus Central
Wumpus Central@WumpusCentral·
🧹 Discord is finally "fixing" memory leaks! /s The client is testing a feature that monitors its own RAM usage and performs an intentional restart to clear resources if it reaches 4 GB while you're AFK. No restarts occur if you're currently in a call.
Wumpus Central tweet media
English
294
238
7.2K
8M