Vue normale
GDC 2026 report: 36% of devs use GenAI; 28% target Steam Deck and 8% target Linux
![]()
Read the full article on GamingOnLinux.
RISC-V User-Space Control Flow Integrity / Shadow Stack Appears Finally Ready
Vulkan 1.4.342 Published With Cooperative Matrix Conversion Extension
-
Phoronix
- AMD EPYC 9755 Delivers Decisive Performance Leadership Over Xeon 6 Granite Rapids With Nearly 500 Benchmarks
AMD EPYC 9755 Delivers Decisive Performance Leadership Over Xeon 6 Granite Rapids With Nearly 500 Benchmarks
CachyOS founder explains why they didn't join the new Open Gaming Collective (OGC)
![]()
Read the full article on GamingOnLinux.
AerynOS 2026.01
GPD release their own statement on the confusion with Bazzite Linux support
![]()
Read the full article on GamingOnLinux.
Lite 7.8
ZimaOS 1.5.4-beta1
Check out the new suitably weird Mewgenics feature trailer
![]()
Read the full article on GamingOnLinux.
-
GamingOnLinux
- Stop Destroying Videogames initiative to get a public hearing organised by the European Parliament
Stop Destroying Videogames initiative to get a public hearing organised by the European Parliament
![]()
Read the full article on GamingOnLinux.
Linux's ublk Adding Batch I/O Dispatch Capability For Greater Performance
Profileur mémoire MALT 1.6.0 et support de Python
MALT c'est quoi ?
L'optimisation est une activité connue de bien des développeurs, fouiller, chercher dans son code, pour, peut être, gagner un peu de performance (beaucoup, parfois). Dans cette tâche ardue, face à des codes grandissants, massifs, utilisant de nombreuses bibliothèques externes, un outil central dans ce travail de fourmi : le profileur.
Le profileur fait partie des outils importants pour le développeur qui se soucie des ressources qu'il utilise. Il lui permet de chercher les points chauds dans son code, comprendre le cout de chaque fonction, chaque ligne implémentée. Bien des outils s'intéressent à une chose : bien utiliser votre processeur.
Mais que se passe-t-il si vous rencontrez des difficultés avec l'utilisation de votre mémoire ? Si vous pensez mal utiliser la fonction malloc() du C ou l'opérateur new du C++ ? Si vous avez oublié qu'une de vos variables globales occupe 10 Go (surtout en Fortran) ?
Publié il y a quelques années MALT (licence CeCILL-C) permet de répondre à la question en cherchant toutes les allocations mémoires faites par votre code. Cet outil avait fait l'objet d'un article sur LinuxFR en 2018 lors de sa mise en open source : Profileurs mémoire MALT et NUMAPROF.
- lien nᵒ 1 : Site officiel de MALT
- lien nᵒ 2 : Dépôt github
- lien nᵒ 3 : Premier article LinuxFR sur MALT
Versions 1.6.0
Avancées
Depuis, cet outil fait son chemin avec l'ajout du support de Rust ainsi que nombreuses corrections et ajouts tels que la possibilité de dumper le profile mémoire juste avant que le système ne soit plein.
malt -o dump:on-sys-full-at=80% -o watch-dog=true ./mon_programme
# également :
# -o dump:on-app-using-rss=10G
# -o dump:on-app-using-virt=80%
# -o dump:on-app-using-req=500M
La possibilité de suivre les appels à mmap, mremap, munmap si vous les appelez directement dans votre code au lieu de laisser malloc faire son travail.
Support de python
MALT a initialement été développé dans le contexte du calcul à haute performance — HPC (High Performance Computing) donc surtout pour le C / C++ / Fortran / Rust.
Dans la communauté scientifique, nous voyons dans les laboratoires de plus en plus fleurir l'usage d'un langage à priori bien éloigné de nos prérogatives de performances : Python.
Dans un cadre de calcul scientifique, il est souvent utilisé plutôt comme un wrapper permettant d'appeler et d'orchestrer des bibliothèques en C /C++ / Fortran, elles, performantes. Quoi que l'usage amène aussi à l'écrire de certaines parties du code en Python grâce à Numpy ou Numba pour accéléré la partie calcule sur des tableaux ou autres frameworks d'exploitation des GPU.
La version 1.6.0 de MALT vient d'ajouter le support (encore quelque peu expérimental) natif de Python permettant d'analyser un code pur python ou mix Python / C / C++…. Il s'agit pour l'instant de la première version avec ce support, il reste donc du travail.
Sont supportés les versions Python supérieures à 3.11 ainsi que les environnements Conda / Anaconda / Venv. À l'heure de rédaction de cet article, cela comprend les versions 3.11 à 3.14.
MALT étant orienté C / C++, il ne supporte que Linux comme système d'exploitation. (NdM: la causalité évoquée ici devrait faire réagir des développeurs d'autres systèmes libres notamment :))
Utilisation sur Python
Si la commande malt fonctionne parfaitement, il est recommandé d'utiliser le wrapper malt-python qui adapte quelques configurations spécifiques à Python non encore automatiques.
malt-python ./script.py
# équivalent à
malt --profile python-default ./script.py
# liste des profiles
malt --profile help
# Afficher le profile
malt-webview ./malt-script-py-6889.json
Profilage rapide
Notons que l'overhead de MALT est important en Python du fait du large nombre d'allocations générées par ce langage et de la méthode de résolution des piles d'appels pour retrouver les lignes dans votre code. Ces détails d'analyse peuvent être désactivés via :
# Désactivé complète de l'analyse des piles
malt-python -p python-no-stack ./my_script.py
# Analyse des piles par "sampling"
malt-python -p python-sampling ./my_script.py
Nouvelle interface
La version 1.6.0 arrive également avec une nouvelle interface graphique avec un code remis à jour
par rapport à sa version originale vieillissante.
![]()
Profil statique
Pour ceux qui voudraient échanger les profils avec d'autres sur d'autres OS, il est possible depuis la 1.6.0 de générer une version statique des pages de l'interface (hors annotation des sources et arbre d'appel navigable) via :
# Toues les pages possible en statique
malt-webview -static ./report malt-progr-123456.json
# Seulement la page de résumé.
malt-webview -static-summary ./report malt-progr-123456.json
Installation
MALT n'est pas encore disponible dans les distributions classiques, vous devez donc le compiler et l'installer à la main. Le nombre réduit de dépendances obligatoires en fait un outil relativement facile à installer.
On trouvera la procédure dans la documentation du projet.
Documentation
La documentation a été complètement ré-écrite et disponible sur le site officiel : documentation.
Outils similaires pour Python
Découvrir un outil est aussi l'occasion d'en découvrir d'autres. Restons dans le monde du Python, si MALT ne vous convient pas vous trouverez peut-être votre bonheur avec les outils suivants et complémentaires à MALT et eux totalement dédiés au Python toujours pour la mémoire :
MALT se positionne par rapport aux deux présentés en apportant une analyse fine en annotant tout le source code de l'application. Il offre également une analyse des variables globales et TLS coté C/C++/Fortran/Rust.
Commentaires : voir le flux Atom ouvrir dans le navigateur
AerynOS Establishes Policy Against LLM Contributions, 2026.01 ISO Refresh
Open-Source Nova Driver In Linux 7.0 Continues Preparing For NVIDIA Turing GPU Support
-
GamingOnLinux
- GDC 2026 Report - 36% of devs use generative AI, while 28% target Steam Deck and 8% Linux
GDC 2026 Report - 36% of devs use generative AI, while 28% target Steam Deck and 8% Linux
![]()
Read the full article on GamingOnLinux.
Tails 7.4.1
Intel Xe Linux Driver Updated To Disable GuC Power DCC For Panther Lake
Intel Releases LLM-Scaler-vLLM 1.3 With New LLM Model Support
Whonix 18.1.3.4
Kicksecure 18.1.3.4
Microsoft Working On Improved vCPU Scheduler Support For Hyper-V Linux VMs
Proton Experimental updated to fix the EA app again on SteamOS / Linux
![]()
Read the full article on GamingOnLinux.