Présentation de mon petit soft pour avoir l'utilisation du CPU

Linux et C++

a marqué ce sujet comme résolu.

Salut,

J’ai déposé sur mon github un petit soft que j’ai écrit et qui me permet de voir l’utilisation de mon CPU. J’aime bien l’utiliser quand je compile des gros trucs ou quand j’utilise virtualbox. Je l’ai écrit en C++ pour mon Ubuntu, voici un lien vers le code si jamais quelqu’un est intéressé par l’outil:

Linux-CPU-Usage

Voila, j’espère que ça vous plaira, si vous avez des avis dessus je serai ravi des les entendre :)

Salut,

Ton utilisation de CMake est un peu maladroite.

  • Ton appel à project active C et CXX par défaut alors que tu n’as besoin que de CXX.
  • Tu set le standard par défaut en touchant à l’état global au lieu de celui de la target directement. C’est pas terrible, surtout si quelqu’un veut utiliser ton projet comme un subdirectory.
  • Tu ajoutes CMAKE_CURRENT_SOURCE_DIR comme dossier include alors que… ça sert à rien.

En corrigeant tout ça, on obtient :

cmake_minimum_required(VERSION 3.13)

project(cpu_utilization LANGUAGES CXX)

add_executable(cpu_utilization src/cpu_utilization.cpp)
target_compile_features(cpu_utilization PRIVATE cxx_std_14)

Ensuite, à la compilation dans ton README tu conseilles de compiler avec cmake . && make. D’une part, c’est dommage de ne pas exploiter la possibilité de build hors-source, de partir du principe que le générateur sera Makefile et surtout de ne rien optimiser par défaut alors qu’il s’agit de la commande pour les utilisateurs finaux. cmake -DCMAKE_BUILD_TYPE=Release -B build && cmake --build build s’affranchit de ces problèmes.

En parlant d’optimisations, je vois que tu as saupoudré le mot-clé inline un peu partout. Il ne veut probablement pas dire ce que tu penses et dans ton cas servira au mieux d’indication au compilo qu’il peut inliner ces fonctions (à condition d’activer les optimisations!). Ce genre d’indications ne sont que très rarement utiles (les compilos sont très bon pour inliner), et surtout, comme n’importe quelle (tentative d’) optimisation, elle est prémature tant que t’as pas des mesures pour montrer que ça a un impact non négligeable et positif sur les performances.

+1 -0

Salut,

Merci pour les explications sur Cmake, c’est la première fois que je l’utilise, je vais intégrer tes modifs et lire quelques tutos à ce sujet.

Merci aussi pour les explications sur inline, c’est rare que j’écrive du code en C++ alors je maitrise pas encore très bien le langage, on avait l’habitude de le rajouter en cours mais comme tu l’as dit j’ai l’impression qu’avec les versions récente du C++ il a beaucoup moins d’utilité.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte