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
» bouton dans autre form que 0
Test de SearchStringList. Emptypar leclode Hier à 13:59

» KGF_dll - nouvelles versions
Test de SearchStringList. Emptypar Klaus Hier à 11:41

» Gestion d'un système client-serveur.
Test de SearchStringList. Emptypar Klaus Hier à 10:23

» PANORAMIC V 1
Test de SearchStringList. Emptypar papydall Sam 4 Mai 2024 - 3:43

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Test de SearchStringList. Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
Test de SearchStringList. Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
Test de SearchStringList. Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
Test de SearchStringList. Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Test de SearchStringList. Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Test de SearchStringList. Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Test de SearchStringList. Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Test de SearchStringList. Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
Test de SearchStringList. Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Test de SearchStringList. Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Test de SearchStringList. Emptypar papydall Dim 21 Avr 2024 - 23:30

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-39%
Le deal à ne pas rater :
Ordinateur portable ASUS Chromebook Vibe CX34 Flip
399 € 649 €
Voir le deal

 

 Test de SearchStringList.

Aller en bas 
2 participants
AuteurMessage
Pedro

Pedro


Nombre de messages : 1555
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 : 12289
Age : 74
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 : 1555
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 : 12289
Age : 74
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 : 12289
Age : 74
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 : 1555
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 : 12289
Age : 74
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 : 1555
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 : 12289
Age : 74
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.
» Demande de test.
» Lancement officiel de GPP
» test if file_exists() inefficace
» Test de vitesse d'une clé usb

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: