Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2811 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  optimisation : strcmp() ou intval()+comparaison ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

optimisation : strcmp() ou intval()+comparaison ?

n°1909090
Pascal le ​nain
Posté le 27-07-2009 à 17:16:48  profilanswer
 

Bonjour,
 
Je souhaite comparer deux dates. Elles sont stockées sous forme de timestamp dans un fichier texte.
 
Par exemple 1248704795 et 1248706343.
 
Est-il plus rapide de comparer les chaines avec strcmp, où bien de les convertir en int puis de les comparer avec > ou < ?
 
Merci d'avance  :hello:

mood
Publicité
Posté le 27-07-2009 à 17:16:48  profilanswer
 

n°1909093
stealth35
Posté le 27-07-2009 à 17:23:29  profilanswer
 

je dirais en int, puisque la valeur passe

n°1909096
Pascal le ​nain
Posté le 27-07-2009 à 17:36:26  profilanswer
 

Qu'est-ce que tu veux dire par là ?

n°1909128
stealth35
Posté le 27-07-2009 à 20:08:03  profilanswer
 

dans le sens ou ca passe dans les 32 bits de l'integer, meme si c'est pas loin puisque la valeur max c'est 2147483647,   si ca avait eté au dessus je pense quand str ca aurai eté mieux, a voir apres...

n°1910083
theredled
● REC
Posté le 29-07-2009 à 21:08:06  profilanswer
 

Tu es absolument sûr que cette optimisation est importante ?

 

Si ce n'est pas le cas, choisit le plus lisible/pratique.

 

Premature optimization is at the root of all evil, disait le sage :o


Message édité par theredled le 29-07-2009 à 21:08:39

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1910185
Pascal le ​nain
Posté le 30-07-2009 à 10:20:28  profilanswer
 

Oui, bien sûr, je n'y gagnerai pas beaucoup.
Mais j'aime bien connaitre la meilleure solution quand deux solutions me paraissent équivalentes  ;)

n°1910250
theredled
● REC
Posté le 30-07-2009 à 13:10:27  profilanswer
 

Pascal le nain a écrit :

Oui, bien sûr, je n'y gagnerai pas beaucoup.
Mais j'aime bien connaitre la meilleure solution quand deux solutions me paraissent équivalentes  ;)


Ok, seulement la performance n'est pas le seul critère de choix, c'est même souvent le plus mauvais.
 
En l'occurence, tu as deux nombres, donc les comparer avec <> me parait le plus logique. Même pas besoin de les transformer en int, ça va se faire implicitement.


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1910286
Taz
bisounours-codeur
Posté le 30-07-2009 à 14:34:50  profilanswer
 

T'optimises rien du tout là en fait.

n°1910289
Pascal le ​nain
Posté le 30-07-2009 à 14:39:36  profilanswer
 

theredled a écrit :


Ok, seulement la performance n'est pas le seul critère de choix, c'est même souvent le plus mauvais.


 
Ah ? Quel est le critère le plus important alors ? Je suis curieux de ta réponse.
La simplicité ? Oui, c'est utile quand on remanie le code, mais une fois le code fixé, il est toujours utile d'optimiser un max.
 

Taz a écrit :

T'optimises rien du tout là en fait.


 
Aucune idée, c'est bien pour ça que je pose la question  ;)

Message cité 1 fois
Message édité par Pascal le nain le 30-07-2009 à 14:40:02
n°1910290
theredled
● REC
Posté le 30-07-2009 à 14:40:16  profilanswer
 


Le bourreau de la cat C ya 5 ans [:totoz]


Message édité par theredled le 30-07-2009 à 14:40:38

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
mood
Publicité
Posté le 30-07-2009 à 14:40:16  profilanswer
 

n°1910292
theredled
● REC
Posté le 30-07-2009 à 14:42:58  profilanswer
 

Pascal le nain a écrit :

 

Ah ? Quel est le critère le plus important alors ? Je suis curieux de ta réponse.
La simplicité ? Oui, c'est utile quand on remanie le code, mais une fois le code fixé, il est toujours utile d'optimiser un max.

 


 

- Lisibilité
- Maintenabilité
- Eventuellement, évolutivité dans le temps

 

Un code n'est jamais "fixé", ça existe pas ça.
Si tu veux vraiment tout optimiser, utilise un cache d'op-code, ou fait ton site en assembleur...

 

Après ouais, tu peux optimiser des parties de ton code, les trucs que tu mesures clairement comme trop lents, typiquement les requêtes SQL, mais c'est tout, le reste, la micro-optimisation, ça sert juste à te faire perdre le temps que tu pourrais passer au cinéma avec ta copine.


Message édité par theredled le 30-07-2009 à 14:47:02

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1910749
stealth35
Posté le 31-07-2009 à 16:56:10  profilanswer
 

oh detrompe toi, le micro optimisation peu faire gagner de temps, j'ai pas d'exemple en PHP,
 
mais en Actionscript, pour convertir un bitmap en jpeg,  
 
mettre les données dans un Vector plutot qu'un Array
et faire de la préincrmentation plutot que de la post   dans les boucle
 
faisais gagné 1.5x  sur le temps du script, ce qui est pas négligeable,
 
bon apres c'est juste un exemple qui fonctionne ;)
 
mais de te rejoins sur le systeme de cache,  
 
faire un systeme de cache, qui creer un fichier HTML fixe toute les 30 min, ca fait beaucoup gagner de temps
 

n°1913068
theredled
● REC
Posté le 08-08-2009 à 15:11:22  profilanswer
 

Oui ya des cas où la micro-optimisation est utile, mais dans 99.999% des cas, non, et elle est même préjudiciable.

 

Et surtout, elle vient à la fin, quand on sait précisément pourquoi on la fait, pas a priori, "au cas où".

 

Là tu prends un exemple où une même boucle est réellement exécutée des millions de fois, pour des durées très courtes à chaque fois, donc oui ça peut être déterminant. Mais c'est marginal ce genre de trucs en AS, comme dans n'importe quel langage. C'est le domaine des parseurs ou des calculateurs de sommes énormes de données, et en plus la plupart ont déja été codés par d'autres depuis longtemps et réutilisables. D'ailleurs un convertisseur BMP/JPG en AS, je veux bien être sûr que ça n'existe pas déja.

 

Qui plus est, gagner d'un facteur 1.5, c'est bien, mais si c'est sur 50ms et utilisé ponctuellement, c'est négligeable. Après je connais pas le contexte de ton convertisseur.


Message édité par theredled le 08-08-2009 à 15:17:02

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  optimisation : strcmp() ou intval()+comparaison ?

 

Sujets relatifs
[java] Problème d'optimisation de traitements batchComparaison de texte
Comparaison de String et caractère universel[JAVA] String identiques mais differents lors de la comparaison !
Optimisation de macrocomparaison de deux bases de données
Comparaison de deux colonnes dans 2 classeurs ExcelOptimisation processeur GCC g++
requêtes d'insertions inexécutable concat date + comparaison avec nomoptimisation MySQL possible ? [Résolu]
Plus de sujets relatifs à : optimisation : strcmp() ou intval()+comparaison ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR