Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

estimation temps

Bonjour à tous,

 

j'aimerais bien avoir "une idée" du temps (durée) pour exécuter ce code.

 

(sa seule utilité est de "prendre du temps")

 

chez moi : 4 coeurs Q6600 - 4Go - 2,4Ghz = 65ms

 

Merci de tester de de me donner :

 

votre temps approximatif (2 ou 3 essais sont suffisants)

le processeur

la Ram

La vitesse de l'horloge.

 

à l'avance ... merci à tous de "prendre le temps de"   Smiley heureux

 

(oui, ce test n'a qu'un sens "très relatif" ... mais est suffisant pour me donner "une idée" des performances "processeur / horloge")

 

test_ouadji.png

Message 1 sur 8
4 873 Visites

salut,

 

core i7 2630

2GHz

16 Go de Ram

 

47 ms (min 40 max 60)

Message 2 sur 8
4 867 Visites

merci  fred4255.

 

Tes résultats (et caractéristiques i7-2Ghz-47ms) 

 

me donne à penser qu'un "plancher" serait autour de 25/30ms

 

par exemple avec un i7 qui tournerait à 3.2/3.4 Ghz (il y en a plusieurs)

 

Un d'entre vous aurait-il la dernière F1 en terme de "processeur/horloge" pour avoir une idée du temps minimum possible.

 

moins de 25 ?

 

Le contexte:

mon dernier code "chessgame".

La profondeur d'analyse est devenue dynamique et s'ajuste en fonction du dernier temps d'analyse.

Si le temps est < à 350ms ... j'augmente le profondeur de 1.

Si le temps d'analyse est > à 9 sec, je diminue la profondeur de 1.

mais ...

350ms et 9 sec sont des sonnées propres à "mon" PC.

J'ai donc besoin de calculer ces valeurs "min" et "max" en fonction du PC sur lequel tourne mon code.

Il me faut donc un "test de vitesse" pour ajuster ces 2 valeurs.

Une idée ? (de test qui pourrait remplir cette fonction)

Mis à part, comme je le propose ici, un test comparatif sur base d'un code "type".

 

Message 3 sur 8
4 861 Visites

Salut,

 

Pour info, temps obtenu entre 27 et 40 ms pour s'exécuter.

Machine :

OS : Windows 8.1 (64 bits) (en machine virtuelle sous virtualbox)

Proc : Core i5-3320M @ 2.6GHz. Seulement 2 coeurs de dispo de configuré pour cette machine virtuelle.

RAM : 1.4 Go alloué à la machine.

 

Je pense que c'est très difficile de faire une estimation. Un processeur, a fréquence égale ne donnera pas les mêmes performances si son architecture n'est pas tout à fait la même. Rappelons nous des Athlon de la grande époque d'AMD qui battait largement les procs Intel pourtant bien plus haut en fréquence. De même vient s'ajouter les instructions d'optimisation supportées par le processeur. Si l'application tourne en source ou en exe. Puis l'OS a une grande influence. A mon avis, tu fais, sur une même machine, le test mais avec Vista, les résultats sont moins bons.

 

Donc on pourrait faire une table de correspondance en fonction d'une fréquence, mais je ne pense pas que ce soit la meilleure solution. De manière simple, tu peux connaître le nombre de coeur physiques et logiques d'un proc avec la fonction LabVIEW native, ca pourrait être un critère, mais sinon, je ne vois pas réellement ce qu'on pourrait utiliser comme critère.

 

Bonne chance.

 

MaximeR

Maxime R.  

  CLA - Certified LabVIEW Architect / Architecte LabVIEW Certifié
  CTA - Certified TestStand Architect / Architecte TestStand Certifié

Message 4 sur 8
4 852 Visites

Merci Maxime pour ton intervention.

 

mais ...

 

quel que soit ... le processeur, l'horloge, l'OS, l'architecture du processeur ... etc ... etc ... (tout cela forme un "ensemble" ... une boîte noire)

 

Si cette boîte noire me donne "x" ms ... et sur "mon" PC "y" ms ... alors j'ai un rapport de conversion de x/y ... non ? (ce, pour l'exécution d'un code "type", d'un code "étalon")

 

Si le PC de freddy donne 45ms et chez moi 65ms (poue le même code) ...

 

alors ... il est "raisonnable" de penser que le PC de freddy exécute "les choses" ... 1,45 fois plus vite que le mien.

 

et ce ... quoi que contienne le PC de freddy, toutes choses confondues.

 

ce raisonnement te semble-t-il incohérent ?

 

PS:

 

pour tes résultats .... virtualbox et seulement 2 coeurs n'y font pas grand chose (à mon avis, car un seul thread)

le différence vient, je pense, en grosse partie, des 2,6Ghz ... contre 2Ghz pour freddy.

 

 

 

 

Message 5 sur 8
4 846 Visites

Concernant ma configuration, les 2 coeurs peuvent avoir une influence. D'ailleurs, on ne force pas l'exécution dans un seul coeur ce qu'on pourrait essayer de faire en mettant le code dans une struture cadencé (boucle ou séquence cadencée) ces deux structures forcent l'exécution dans un seul thread si je ne me trompe pas.

 

Effectivement la fréquence de mon processeur doit jouer, mais sur le papier, un core-i7 deuxième génération est censé être plus puissant qu'un i5 troisième génération. Sur le papier du moins, hormis du mono thread a priori si on suit cette page. ce qui pourrait expliquer que j'ai eu de meilleures perfs, bien que le code ne semble pas s'exécuter que sur un seul coeur.

 

http://cpuboss.com/cpus/Intel-Core-i7-2630QM-vs-Intel-Core-i5-3320M

 

Mais dans ma configuration, je pense que je pourrais faire chuter les performances en désactivant la prise en charge de la virtualisation matérielle de mon proc dans virtualbox.

 

Mais je viens également de comprendre ce que tu voudrais faire, c'est un outil de benchmark de la config qui permettrait de déterminer un facteur multiplicateur par rapport à une config de référence le temps maximum d'exécution d'un autre code. Dans ce cas on peut imaginer que ca fonctionne ton principe, mais je pense qu'il faudrait observer plus en détail comment ton programme charge le PC, nombre de threads, échanges ram, quantité RAM, échanges disque, et faire ensuite un petit bout de bench du pc correspondant. On pourrait imaginer n'avoir a executer ce bench qu'une seule fois sur le PC et sauvegarder la valeur de perf dans un fichier. On revient a faire un outil d'évaluation du PC comme le fait Windows.

 

Dans tous les cas ca pourrait être rigolo a faire.

Maxime R.  

  CLA - Certified LabVIEW Architect / Architecte LabVIEW Certifié
  CTA - Certified TestStand Architect / Architecte TestStand Certifié

0 Compliments
Message 6 sur 8
4 839 Visites

c'est un outil de benchmark de la config qui permettrait de déterminer un facteur multiplicateur par rapport à une config de référence le temps 

 

oui

 

On pourrait imaginer n'avoir a executer ce bench qu'une seule fois sur le PC

et sauvegarder la valeur de perf dans un fichier. 

 

oui ... (bof ... performance trop variable dans un environnement multi-tâches)

 

ou exécuter ce "test" régulièrement de façon à pouvoir adapter le coefficient en fonction de " l'état réel de fonctionnement" du dit PC à l'instant " t ".

 

Cela restera de toute façon un coefficient "approximatif" (le plus près possible d'une réalité ... si elle existe).

 

L'exécution "périodique" du test permet une adaptation en temps réel ... au plus près d'une certaine réalité, ce à un instant "t".

 

Si le test est effectué à chaque fois et "juste avant" d'entrer dans le moteur (chessengine) ... je pense que "ça peut être bon".

 

Message 7 sur 8
4 834 Visites

ouadji a écrit :

 

Si le test est effectué à chaque fois et "juste avant" d'entrer dans le moteur (chessengine) ... je pense que "ça peut être bon".

 


bien.... +1 à vous tous!!!

banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion

MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group

0 Compliments
Message 8 sur 8
4 829 Visites