Aller au contenu

[PCi Tool] Battery Benchmark Suite


David_L

Messages recommandés

Yopla tout le monde,

Depuis quelques mois, nous développons en interne de nombreux outils qui nous servent au quotidien pour nos différents essais / tests. Comme je l'ai déjà évoqué, j'ai pour intention de publier ces outils afin que tout le monde puisse les utiliser, puis éventuellement d'ouvrir le code de certains d'entre eux pour que la communauté puisse les faire évoluer.

Téléchargement : http://code.google.com/p/pci-bbs/

Quoi qu'il en soit, le premier que nous avons décidé de vous proposer est à la fois le plus récent mais aussi le plus simple :

PCi Writer Simulator

But :

Celui-ci se propose tout simplement de simuler une activité au sein de Wordpad, tout en relevant le temps de fonctionnement, vous permettant ainsi de connaître au final l'autonomie de votre machine lors d'une prise de note.

Son fonctionnement est assez simple puisqu'il suffit de cliquer sur le bouton principal pour que tout se lance.

L'arrêt de la machine provoquera l'arrêt du décompte.

Le résultat est enregistré dans un fichier "log.txt".

/!\ Attention : Tout changement de focus interrompt le relevé, qu'il soit volontaire ou non.

C'est un point que je peux faire évoluer avec le temps, mais cela permet d'éviter tous les soucis qui pourraient venir d'une utilisation de la machine pendant le test, ce qui invaliderait les résultats.

Requis :

Windows XP / Vista / 7 dans leurs éditions 32 ou 64 bits

.NET 2.0

Bien entendu, avant de lancer un test, veillez à :

- Couper l'écran de veille

- Désactiver la mise en veille

- Régler la luminosité

- Désactiver les applications qui pourraient interférer avec le bon déroulement du test

94931-pci-writer-simulator-0-2.png

Disponible via le projet Google Code suivant, sous le nom de PCi Battery Benchmark Suite (PCi-BBS) :

http://code.google.com/p/pci-bbs/

Vous y trouverez aussi un second outil déjà évoqué :

PCi Battery Bench Tool

Cette application console permet de mesurer l'autonomie lors d'une navigation web avec IE / lecture de vidéo avec MPC HC.

Requis :

Windows XP / Vista / 7 dans leurs éditions 32 ou 64 bits

MPC Home Cinema (http://mpc-hc.source...classic-hc.html)

.NET 2.0

Pour l'utilisation :

Utilisation : PCi Battery Bench Tool.exe <mode> <options>

log : Simple log du temps écoulé

video <fichier> : Lecture de vidéos avec MPC HC.

web <temps> : Visite de sites indiqués dans le fichier urls.txt pendant le temps indiqué, en secondes.

Pour qu'il fonctionne deux fichiers peuvent être nécessaire (dans le même répertoire :

  • urls.txt : contient une liste simple d'URLs à visiter pendant le test web. Ex :

http://www.free.fr
http://disney.go.com/tron/index_flash.html
http://www.google.fr
http://www.youtube.com/watch?v=8OsjY2fwUtM

  • config.ini : contient le path et le nom de l'exécutable de MPC HC pour le test vidéo. Ex :

path=C:\MPCHC
exe=mpchc.exe

Attention, dans le cas de la lecture avec MPC HC, il faudra gérer deux réglages en manuel :

  • Lecture en boucle / Rembobiner à la fin
  • Choisir la bonne sortie vidéo (EVR Custom Pres pour Windows 7 avec Acc vidéo, par exemple)

Disponible via le projet Google Code suivant, sous le nom de PCi Battery Benchmark Suite (PCi-BBS) :

http://code.google.com/p/pci-bbs/

J'attends vos commentaires, je ferais encore qques évolutions avant une mise en avant de cette page et des outils pour le site. Je dois aussi revoir les textes du wiki et de la home du projet Google Code :chinois: Merci à tous ceux qui prendront le temps de le tester et de nous remonter d'éventuels bugs.

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 80
  • Créé
  • Dernière réponse

Je me demande s'il y a vraiment une différence entre pas d'activité et une activité de prise de notes ? En fait ce que je me dis c'est que bloc-notes et votre appli étant dans la catégorie des applis "simples" (Les deux ont une utilisation négligeable des IO et du CPU), si le bloc-notes a un gros impact le contrôleur de bloc-notes ne risque-t-il pas d'avoir un impact supplémentaire ?

Et puis je pense qu'il y a quelques optimisations mémoire à faire sur le testeur, sur le peu que j'ai testé la mémoire privée monte dangereusement, alors si ça continue pendant plusieurs heures ça va atteindre la consommation de mémoire va atteindre la centaine de mégas j'imagine :transpi:

Lien vers le commentaire
Partager sur d’autres sites

Je ne pense pas que l'appli elle même ait un impact. L'activité du BN est surtout là pour simuler l'activité humaine de base (interaction clavier), pour d'autres simulations (web, vidéo...) nous avons d'autres outils spécifiques.

Pour la mémoire, si tu parles du BN, je pense que ça peut venir du texte écrit mais c'est gérable si l'on voit que c'est un problème, pour le moment ça semble fonctionner. chinese.gif

Lien vers le commentaire
Partager sur d’autres sites

Bonjour, si vous avez besoin d'aide pour des outils linux je peux me proposer pour vous aider à développer certains outils. :)

Idem sous windows, d'ailleurs j'avais déjà fait un outil qui balançait une vidéo en boucle pour connaitre l'autonomie en vidéo du pc portable, mais je n'ai plus les sources. ;)

Par contre mp si vous le souhaitez, je ne suis pas trop présent sur le forum. ;)

Lien vers le commentaire
Partager sur d’autres sites

Oui j'ai regardé de mon côté aussi la mémoire ne dépasse pas une certaine limite, comme ça R0x .Net :D

Il y a juste une activité CPU résiduelle, mais de ce que j'ai identifié, ça vient de l'envoi des touches, je ne peux donc pas faire grand chose contre transpi.gif

Burn2 > Merci, je note pour l'info. J'ai pas mal de projets en cours que ce soit des outils de bench, des extensions Chrome, des applis mobiles... mais toujours en manque de temps pour finaliser / distribuer. Avec l'équipe ça va un peu mieux, ça sert aussi à ça les Premium :D

Pour l'outil avec lecture vidéo, j'ai ça en stock et fonctionnel (avec aussi une fonction de mesure lors de navigation web). C'est quasi prêt pour la release ;)

Lien vers le commentaire
Partager sur d’autres sites

Mise à jour de l'outil avec l'ajout d'infos concernant la batterie, principalement.

Pour l'opti mémoire, vu le niveau des softs, ça n'est pas le souci principal en général :D Pour Linux via Mono, je fais surtout de l'appli console, donc même pas besoin de Qt :D Faudra voir quand je ferais le portage de celle-ci.

Pour l'ouverture du code, c'est prévu. Il faut juste que j'organise les choses et que l'on voit comment l'on veut gérer les choses, garder le projet sous notre giron, et qu'on bosse avec quelques dévs motivés, ou publier pour que d'autres reprennent le flambeau avec un nom standard, sans notre controle (l'utilisation de la marque et du logo de PCi pouvant poser problème dans ce second cas).

Puis je ne suis pas spécialement pressé de me faire chambrer parce que je met 3 lignes de commentaires toutes les deux lignes de code :transpi:

Lien vers le commentaire
Partager sur d’autres sites

Mono sous linux??? T'as vraiment pas peur de t'attraper les foudres des linuxiens! Autant les libs qt installé c'est courant autant tout le bordel de mono c'est rare! :cartonrouge:

Là ce n'est clairement pas un bon choix. :zarb:

Avec du qt au moins tu pouvais couvrir toutes les plateformes dont mac. :craint:

Bon je comprend le .net pour windows c'est logique, mais mono sous linux, ça va chambrer sévère et je doute que beaucoup l'utilise sous linux vu la foule de dépendance nécessaire pour ça. Pour vous en interne peut-être.

(surtout que qu'ubuntu intègrera par défaut les libs de qt même sous gnome)

Lien vers le commentaire
Partager sur d’autres sites

Disons que sous Nux je navigue entre les scripts et Mono en console en fonction des besoins, vu que la plupart de mes outils sont en .Net, ça m'évite de naviguer entre 400 languages (déjà que je suis à moitié dans java avec Android... :D).

M'enfin pour les applis à releaser, si effectivement les dépendances sont chiantes (moi j'installe mono develop et ça roule, faut dire :D). Il faut aussi prendre en compte qu'une bonne partie de ce qu'on développe nécessite des appels spécifiques aux fonctions de l'OS, donc j'ai rarement l'occas de faire du total multi-plateforme (ou alors en C++ sans windows.h, par exemple, mais pour faire des appels au niveau de batterie ça va un peu compliquer le code :D)

Lien vers le commentaire
Partager sur d’autres sites

Ben tu peux faire deux versions. :transpi: Une version .net pour windows ça ça se comprend, et une version c++/qt pour linux/mac.

Limite je pense qu'il y a assez de fanboy linuxien pour te faire la version linux de l'outil. :D

Ah ben si t'as besoin d'aide pour android, bibi est aussi là (enfin pas pour la partie interface graphique, mais si c'est pour du basique, je suis une quiche totale...)

je peux aussi t'aider si jamais t'as besoin, d'ailleurs tu peux trouver les sources de sleepytux V1 si t'as besoin de source, peut-être que t'y trouveras des choses utile, et les sources de la V2 ne vont pas tarder à être libérées. ;) ( par contre en java je ne me considère clairement pas comme un exemple à suivre, je préfère prévenir) :transpi:

Lien vers le commentaire
Partager sur d’autres sites

Pour l'interface, on a les graphistes qui peuvent gérer les demandes.

Pour la mise en place des versions open, j'ai vu avec PA pour que l'on finisse par mettre en place un SVN, ça sera surement géré comme ça au final.

Sinon pour Mono, de ce que je sais, ça fonctionne aussi sous Mac non ? Pas besoin de Qt dans mon cas je ne fais que de la console pour le moment (les interfaces, c'est pas drole :D).

Lien vers le commentaire
Partager sur d’autres sites

Tout dépend l'objectif de tes programmes:

-interne + poweruser

-Madame michu ready?

Bref c'est ça qui définie si interface ou pas il faut etc. :byebye:

Et là vu ce que tu as dit, console + mono sous linux/mac c'est déjà uniquement interne + poweruser uniquement. :smack:

Pour mac aucune idée, mais là encore je doute que beaucoup veuille pourrir leur système avec tout le package mono pour un programme. :/

Lien vers le commentaire
Partager sur d’autres sites

De toutes façons pour la partie Linux je verrais lors des portages définitifs. Puis ça dépend aussi des applis, disons que dans le cas de certaines j'ai besoin de .Net 4.0 par exemple (j'ai un multi-threader d'applis qui exploite parralel.for) et je me vois mal me taper le code en C++ / TBB juste pour éviter l'installation de .Net sous Windows :D

Lien vers le commentaire
Partager sur d’autres sites

Rho ! Bien sûr qu'on peut utiliser Mono sur mac :]

Pour prendre la défense de .NET il faut aussi voir que les grosses distributions incluent maintenant Mono de base, et qu'il est possible que Mono soit auto-contenu dans les exécutables (pas d'installation requise au préalable donc). Sur le popcon de Debian on a 20% des postes Debian qui ont le package mono-runtime installé, ce qui est moyen (mais pas rare)... Car j'imagine que la base d'utilisateur ne sera pas spécialement les madames michu, plutôt des geeks poilus (c'est pas pour se moquer, c'est pour la rime :francais:) et .Net risque d'être un obstacle plus idéologique que technique :]

[EDITH]

Puis ça dépend aussi des applis, disons que dans le cas de certaines j'ai besoin de .Net 4.0 par exemple (j'ai un multi-threader d'applis qui exploite parralel.for) et je me vois mal me taper le code en C++ / TBB juste pour éviter l'installation de .Net sous Windows :D

Ouais forcément si ça va trop loin dans le .NET Microsoft ça risque de pas passez dans le .NET Mono :transpi:

Lien vers le commentaire
Partager sur d’autres sites

Pour l'interface, on a les graphistes qui peuvent gérer les demandes.

Pour la mise en place des versions open, j'ai vu avec PA pour que l'on finisse par mettre en place un SVN, ça sera surement géré comme ça au final.

Sinon pour Mono, de ce que je sais, ça fonctionne aussi sous Mac non ? Pas besoin de Qt dans mon cas je ne fais que de la console pour le moment (les interfaces, c'est pas drole :D).

j'entends d'ici les intégristes du git qui accourent avec fourches et piques!

j'aimerais pas être à la place de PA. :stress:

perso, si l'outils fonctionne bien avec le logo PCI , je n'y vois que des avantages! :transpi:

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

je n'ai pas encore pu tester le soft, n'ayant pas .NET 4 sur mon pc actuel (d'ailleurs pourquoi ... je pensais l'avoir installer ...) mais je voulais juste donner une piste concernant la montée mémoire décrite dans les premiers messages.

Concatènerais-tu des chaînes de caractères pour l'affichage du temps restant et de la durée de batterie ? Si par exemple tu as un timer qui tourne pour compter le temps tout en envoyant des caractères à notepad et que ce temps tu l'affiches à peu près comme ceci : unLabel.Text = tempsEcoule.ToString() + " minute(s)" ?

Donc ce cas il faut abandonner cette idée car à chaque affichage dans le label ça créé 2 instances supplémentaires d'objets "String" qui ne seront libérée que par le GC, pour un programme simple comme ici il n'y aura pas de problème mémoire .NET va se mettre à collecter dés qu'il atteindra la limite (c'est pourquoi tu as vu qu'il plafonnait à une certaine valeur) mais pour d'autres codes plus complexes tu risques de te retrouver rapidement avec des fuites mémoires.

Il vaut mieux privilégier String.Format pour ce genre de chose (par exemple unLabel.Text = String.Format("{0} minute{1}", tempsEcoule, tempsEcoule>1?"s":""); ), ou bien n'afficher que le temps et placer le mot "minutes" dans le label situé devant ("Remaining time (minutes)").

My 2 cents

Lien vers le commentaire
Partager sur d’autres sites

Merci pour les détails je vais regarder ça ;)

Edit : j'ai modifié dans le code pour la forme, puis ça me simplifie quelques passage au niveau de la lecture. Mais ça ne semble pas changer grand chose. Il semble que le niveau de mémoire grimpe au fur et à mesure qu'il parcourt le texte, ensuite, ça se stabilise.

Lien vers le commentaire
Partager sur d’autres sites

N'oubliez pas qu'il faut savoir à quelle population on s'adresse.

Ici, on ne touchera en termes de population *que* des gens qui testent des portables, ou des gens qui veulent comparer leurs autonomies (et encore, il suffit d'installer un antivirus différent sur les portables en question pour que le score ne soit pas comparable, pour ne citer que cet exemple).

Parti de ce constat, l'utilisation ou non d'un framework quelconque, récent, ne se pose guère, car le testeur le fera si le besoin est là. C'est différent pour des logiciels comme OCCT où la portabilité doit être assurée. Ma population étant Windowsienne exclusivement (enfin c'est celle que je vise), j'ai choisi delphi au début, et voulant changer, ca va passer sur du .net 2.0 (inclus dans vista et 7, qui vont supplanter XP relativement vite AMHA).

Ici, framework .net 4.0 requis, ca ne me choque absolument pas, surtout vu le niveau d'interaction requis avec les logiciels MS. Je pense que le framework MS sera nativement le meilleur pour piloter des outils MS :D

Car j'en viens là, si on veut avoir une idée d'utilisation bureautique, faut un truc capable de gérer un IE, un excel en même temps, qui se balade sur des sites avec un petit peu de flash, sans flash, qui fait du word, supprime des paragraphes, ajoute des images, regarde un peu de porno... bref, un petit panel des actions bureautiques de monsieur tout le monde (en boucle of course).

J'avais eu une demande dans ce sens par un testeur pro y a pas si longtemps, j'y ai pensé, mais j'ai vite réalisé que c'était un projet à part entière, et que OCCT me prenait déjà trop pour que je me lance là dedans.

Simuler un truc violent, on sait faire ("OCCT power supply dans la face de ton portable, lulz"). Simuler une utilisation dite "normale", c'est bien plus dur. Définissons "normale" d'ailleurs... (non, pas de philo, pitié).

Bref, bonne chance l'ami ! On prend la même direction en termes de technos on dirait.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.


×
×
  • Créer...