CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C/C++] Rapport de performances...

Musashi001
Musashi001
Niveau 10
29 juillet 2005 à 19:32:30

Alors j´ai entendu je ne sais plus ou sur ce forum, que le C et le C++ étaient de vitesse égales(j´ai une réflexion de lapintade en tête), pourtant j´ai constaté a plusieurs reprises sur le net que ça n´était pas le cas.

Le C étant un langage procédural et le C++ un orienté objet, il pourrait être logique que ce dernier soit plus lent.

En admentant que cette différence soit négligeable, je me suis dit qu´on pouvait considérer que les deux langages aient la même vitesse.

Cependant, il n´en n´est rien! On parle de 30 à 40% de différence au niveau de performances...

Qu´en pensez-vous?

Vengeur41
Vengeur41
Niveau 10
29 juillet 2005 à 19:34:34

Il parait que c´est faux...
Du C et du C++ bien utilisés sont normalement identiques...

Musashi001
Musashi001
Niveau 10
29 juillet 2005 à 19:37:33

même rumeur en sens inverse... Ca nous avance pas pour autant...

Lapintade
Lapintade
Niveau 30
29 juillet 2005 à 19:39:43

Bah difficile de comparer, tu peux faire du code C++ avec plein de code " non objets" dedans, dans ce cas c´est identique.

Ensuite si tu fais un algo bien mechant en C++, qui itere a donf et tu fait dedans du code de cochon qui accede sans cesse à la memoire ( liste, vecteurs, accés a des variables membres ou des fonctions virtuels) alors t´as de grande chance que ce soit plus lent ( surtout si le cache de ton processeur joue un role important, comme sur PS2 par exemple).

Pour eviter de perde de la perf, faut pas abuser de certaines choses en C++.

LGV
LGV
Niveau 28
29 juillet 2005 à 20:38:25

je vais dans le meme sens que lapintade ; en sachant ce qu´on fait, les perfs sont tres proches, et la souplesse vaut largement les 0.0001% que tu peux éventuellement perdre.
Maintenant, si on fait du code de porcasse avec des hiérarchies de classes dans tous les sens, des virtual n´importe où, et des exceptions à tout bout de champs, forcément, ça aide moins..

LGV
LGV
Niveau 28
29 juillet 2005 à 23:29:08

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2001/n1309.pdf

Musashi001
Musashi001
Niveau 10
30 juillet 2005 à 00:54:45

Merci pour ces infos les gars! :ok:

Blawk
Blawk
Niveau 10
30 juillet 2005 à 11:29:08

Les fonctions de la STL sont plutôt rapide car toutes les méthodes sont inlinée. Donc même si ça peut paraitre lourd, si le compilo fait bien son boulot, les performances sont au rendez vous. Si on utilise n´importe comment la STL sans trop savoir les opérations effectuées par celle-ci, alors on peut avoir des pertes de performance.

Quand on utilise la POO " C-style" ( sans polymorphisme d´éxécution [signalé par le mot-clef virtual]), il n´y a aucune perte de performance par rapport au C, il peut même y avoir un gain.
La POO avec polymorphisme d´éxécution est un peu, et seulement un peu, couteux car les appels de fonction ne sont plus directs et les fonction ne sont plus inlinées. Il convient donc de connaitre les mécanismes ud polymorphisme d´éxécution pour en pas avoir de trop grandes pertes. Quand on a le choix, et que les performances sont importantes, on choisira d´utiliser le polymorphisme de compilation ( les templates, comme la STL) plutôt que le polymorphisme d´éxécution.

Mais la POO autorise de nouvelles architectures impossible à mettre en place en C, peut-on vraiment comparer les performances ?

Vengeur41
Vengeur41
Niveau 10
30 juillet 2005 à 11:51:29

Disons qu´en C++ t´as plus de possibilités de faire un code pourri...

kufa
kufa
Niveau 9
30 juillet 2005 à 17:47:52

ho dis pas ca, c est facile de faire du code pourri en C. Je dirai par contre qu en c++ c est plus facile ; )

Vengeur41
Vengeur41
Niveau 10
30 juillet 2005 à 18:58:08

C´est ce que je voulais dire :)

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment