4 ms·
From comments in Bugzilla learned about https://profiler.firefox.com/docs/#/ https://profiler.firefox.com/docs/#/ , looks super cool! C/C++ tooling improved a l
by rossmohax 5y ago
From comments in Bugzilla learned about https://profiler.firefox.com/docs/#/ https://profiler.firefox.com/docs/#/ , looks super cool! C/C++ tooling improved a lot in last decade.
- ognarb 5y agoThere is a lot of profiling and debugging tools for C/C++, funny enough a lot of them are originated from the KDE community. From the top of my mind: * valgrind (https://valgrind.org/ https://valgrind.org/): Contains a lot of tools * Heaptrack (https://apps.kde.org/heaptrack/ https://apps.kde.org/heaptrack/): For memory allocation analysis * KCachegrind (https://apps.kde.org/kcachegrind/ https://apps.kde.org/kcachegrind/): For call graph vizualisations * ELF Dissector (https://apps.kde.org/elf-dissector/ https://apps.kde.org/elf-dissector/): For analysis of binary files/dependencies * Massif-Visualizer (https://apps.kde.org/massif-visualizer/ https://apps.kde.org/massif-visualizer/): Valgrind massif visualiser * Gammaray (https://www.kdab.com/development-resources/qt-tools/gammaray/ https://www.kdab.com/development-resources/qt-tools/gammaray...): Tool to analysis the current state of a Qt project a bit like you would do with firefox inspector.
- eitland 5y ago> funny enough a lot of them are originated from the KDE community. How is that funny?
- jraph 5y agoFunny is probably a funny way of saying noteworthy here.
- dralley 5y agoFYI, most of these work great on other languages languages. Massif and most of the valgrind suite (cachegrind, callgrind, memcheck) can be used with Rust.
- ognarb 5y agoYeah I use kcachegrind with xdebug/php for my day job
- The_rationalist 5y agoand most importantly ASAN/MSAN/TSAN/UBSAN. (Although I admit that the inability to use ASAN and MSAN simultaneously is a big limitation that Valgrind doesn't have
- archy_ 5y agoNot as much as Rust has, though. I'd be hard pressed to go back to C-land now. I'm surprised they wouldn't consider a greenfield component (HTTP/3) a good candidate for it, sad.
- anderspitman 5y agoI was going to respond to parent with "or just write it in Rust /s" but I should have known better. For a greenfield component I do kind of agree though. I wonder does Mozilla still have the in-house Rust expertise for something like that after the layoffs?
- steveklabnik 5y agoMozilla has a Rust QUIC implementation (one of three good ones in Rust) https://github.com/mozilla/neqo https://github.com/mozilla/neqo I'm not sure why it's not used here.
- dralley 5y agoMozilla didn't lay off all their engineers using Rust. Just the ones whose primary job was working on Rust (as opposed to Rust components in Firefox). They still have tons of in-house Rust expertise.
- anderspitman 5y agoI wonder if they still have the in-house expertise to know what in-house expertise they have.
- pjmlp 5y agoOn the contrary, the tooling ecosystem is huge with 50 years of history. Naturally most of it isn't free beer.
- pjmlp 5y agoFree beer C and C++ tooling you mean. Plenty of nice tooling like Purify, Insure++ and V-Tune exist since decades.