FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Test de SearchStringList. Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Test de SearchStringList. Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Test de SearchStringList. Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Test de SearchStringList. Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Test de SearchStringList. Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Test de SearchStringList. Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Test de SearchStringList. Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Test de SearchStringList. Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Test de SearchStringList. Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Test de SearchStringList. Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Test de SearchStringList. Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Test de SearchStringList. Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Test de SearchStringList. Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Test de SearchStringList. Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Test de SearchStringList. Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-28%
Le deal à ne pas rater :
-28% Machine à café avec broyeur à grain MELITTA Purista
229.99 € 318.99 €
Voir le deal

 

 Test de SearchStringList.

Aller en bas 
2 participants
AuteurMessage
Pedro

Pedro


Nombre de messages : 1595
Date d'inscription : 19/01/2014

Test de SearchStringList. Empty
MessageSujet: Test de SearchStringList.   Test de SearchStringList. EmptyDim 3 Fév 2019 - 17:44

Bonjour.

@Klaus.

La durée d'exécution est de 0,781 sec pour 10 boucles.
Donc environ 7,8 sec pour 100 recherches.

Un progrès est-il encore possible, stp ?

Merci de la suite.

Code:
dll_on "kgf"

dim debut, k%, res%, b$, f$, te$

te$=" ": ' string$(255," ")

f$="dico_français_espagnol.txt"

res%=dll_call2("CreateStringList",2,0)
if res%=0 then res%=dll_call2("LoadStringList",2,adr(f$))

debut=number_ticks

chercher()

' 0,782 sec.
message str$(number_ticks-debut)
terminate
 
sub chercher()
    for k%=1 to 10
        b$="le mois prochain;loc;"
        res%=dll_call3("SearchStringList",2,adr(b$),adr(te$))
    next k%
end_sub
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Test de SearchStringList. Empty
MessageSujet: Re: Test de SearchStringList.   Test de SearchStringList. EmptyDim 3 Fév 2019 - 18:31

Dans cet exemple, ce qui est évident, c'est qu'il faut sortir le chargement de la variable b$ de la boucle. Le gain est non négligeable:
Code:
dll_on "kgf"

dim debut, k%, res%, b$, f$, te$

te$=" ": ' string$(255," ")

f$="dico_français_espagnol.txt"

res%=dll_call2("CreateStringList",2,0)
if res%=0 then res%=dll_call2("LoadStringList",2,adr(f$))

b$="le mois prochain;loc;"
debut=number_ticks

chercher()

' 0,782 sec.
message str$(number_ticks-debut)
terminate
 
sub chercher()
    for k%=1 to 10
'        b$="le mois prochain;loc;"
        res%=dll_call3("SearchStringList",2,adr(b$),adr(te$))
    next k%
end_sub

Maintenant, je pense que ta question portait surtout sur la fonction SearchStringList. Je vais y regarder de plus près...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1595
Date d'inscription : 19/01/2014

Test de SearchStringList. Empty
MessageSujet: Test de SearchStringList.   Test de SearchStringList. EmptyDim 3 Fév 2019 - 20:45

Bonsoir.

En fait, la variable b$ ne contient pas de chaine constante.
C'est pour cette raison que je l'ai laissée dans la boucle.

Je cherche à améliorer la vitesse de traitement de la fonction SearchStringList.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Test de SearchStringList. Empty
MessageSujet: Re: Test de SearchStringList.   Test de SearchStringList. EmptyDim 3 Fév 2019 - 20:59

Je m'en doutais bien... Je vais regarder cela. Mais la routine est complexe, et ça prendra un peu de temps.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Test de SearchStringList. Empty
MessageSujet: Re: Test de SearchStringList.   Test de SearchStringList. EmptyLun 4 Fév 2019 - 13:40

Problème résolu.

En fait, ça ne vient pas de la fonction de recherche. Ca vient du mode de création de la StringList. Tu la crées en mode 0 ce qui signifie "non triée". Ce sera nettement plus performant en mode 1 ou 2.

Chez moi, j'obtiens les chiffres suivante:
mode 0: 2953
mode 1: 156
mode 2: 188

Spectacilaire, non ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1595
Date d'inscription : 19/01/2014

Test de SearchStringList. Empty
MessageSujet: Test de SearchStringList.   Test de SearchStringList. EmptyLun 4 Fév 2019 - 13:53

Bonjour.

Oui, spectaculaire en effet.
J'obtiens maintenant un score de 62 pour 1000 recherches !!
Bravo !

Mais pourquoi res% est-il négatif ?
Ce qui oblige à en prendre ensuite la valeur absolue.

Code:
dll_on "kgf"

dim debut, k%, res%, b$, e$, f$, te$, y%

te$=" ": ' string$(255," ")

f$="dico_français_espagnol.txt"

debut=number_ticks

res%=dll_call2("CreateStringList",2,2)
if res%=0 then res%=dll_call2("LoadStringList",2,adr(f$))

message str$(number_ticks-debut)

debut=number_ticks

chercher()

' 0,782 sec.
message str$(number_ticks-debut)+": "+str$(res%)

res%=abs(res%)
e$=string$(255," ")
y%=dll_call3("ReadStringList",2,res%,adr(e$))
message trim$(e$)

terminate
 
sub chercher()
    for k%=1 to 1000
        b$="ôter quelque chose à quelqu'un;"
        res%=dll_call3("SearchStringList",2,adr(b$),adr(te$))
    next k%
end_sub
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Test de SearchStringList. Empty
MessageSujet: Re: Test de SearchStringList.   Test de SearchStringList. EmptyLun 4 Fév 2019 - 14:43

Voici ce que dit l'aide de cette fonction:
Citation :

res%
ind% si réussite: indice le l'élément retourné
-ind% si liste triée et enregistrement exact inexistant: indice devant lequel il faut insérer
0 si erreur

Donc, ça veut dire que la réponse trouvée n'est pas la réponse exacte mais la plus proche possible. En tout cas, c'est la ligne devant laquelle il faudrait insérer une ligne avec le critère de recherche exact pour respecter la séquence de tri.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1595
Date d'inscription : 19/01/2014

Test de SearchStringList. Empty
MessageSujet: Test de SearchStringList.   Test de SearchStringList. EmptyLun 4 Fév 2019 - 20:16

Bonsoir.

Merci pour l'info Klaus.

Donc, si l'élément trouvé correspond en partie à l'élément recherché, res% doit être négatif !
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Test de SearchStringList. Empty
MessageSujet: Re: Test de SearchStringList.   Test de SearchStringList. EmptyLun 4 Fév 2019 - 20:46

Oui, c'est cela. S'il y a identité, le résultat est positif. Si le critère n'est pas trouvé, c'est zéro.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Test de SearchStringList. Empty
MessageSujet: Re: Test de SearchStringList.   Test de SearchStringList. Empty

Revenir en haut Aller en bas
 
Test de SearchStringList.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Test de la 3D.
» Test Commande RND()
» test if file_exists() inefficace
» Demande de test.
» Lancement officiel de GPP

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: