pan59
Nombre de messages : 367 Age : 67 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Défi avec panoramic. Jeu 11 Juil 2013 - 9:27 | |
| Bonjour.
Je lance un véritable défi aux panoramiciens.
Voici un petit programme écrit en ThinBasic.
Le fichier, de 41.720 lignes, est lu dans son intégralité, 10 fois en 8 dixièmes de seconde !!
Qui peut faire mieux ? - Code:
-
Uses "fileline" Uses "console"
Dim i%, n% Dim a As String
Dim t1, t2 As Double
t1 = Timer
For c As Integer=1 To 10 ' 41.720 lignes n% = FileLine_Open("c:\perso\traducteur_panoramic\dico_français_espagnol.txt")
While Not FileLine_IsEof(n%) i% = FileLine_LineInput(n%, a) ' Console_WriteLine(a) Wend
FileLine_Close(n%)
Next
t2=Timer
MsgBox(0, "Seconds:" & $TAB & $TAB & Format$(t2 - t1, "#0.000")) | |
|
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Défi avec panoramic. Jeu 11 Juil 2013 - 10:46 | |
| Je ne comprends pas bien ton défit. Il faut traduire le programme en Panoramic et faire en sorte que le fichier soit lu 10 fois le plus rapidement possible en le lisant ligne par ligne, c'est cela ? En fait la syntaxe en Panoramic est très proche de celle de ThinBasic Pour le chronomètre, à la place du T1 = Timer tu mets: - Code:
-
Label On Dim Tps% Tps%=0 : timer 1:timer_interval 1,10:on_timer 1,On
Tu dois aussi ajouter la procédure On - Code:
-
On: Tps%=Tps%+1 Return
Après la boucle, calcule et affiche les valeurs obtenues - Code:
-
mn%=int(Tps%/3600) s%=int(Tps%/60)-(mn%*60) cs%=Tps% -((mn%*3600)+(s%*60)) ' Affiche les valeurs à l'aide d'un message
Pour le fichier, tu sais faire mais bon je remets la syntaxe qui me parait correcte - Code:
-
dim a$,c% For c%=1 To 10 file_open_read 1,""c:\perso\traducteur_panoramic\dico_français_espagnol.txt"" while file_eof(1) <> 1 file_readln 1,a$:print a$ end_while file_close 1 Next c%
Mais bon, ça sera sans doute plus long que 8 dixième de seconde. Je ne peux pas tester ici, mais le défit n'est pas trop compliqué après, je ne pense pas que l'on puisse faire grand chose de plus pour accélérer les choses. | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Défi avec panoramic. Mer 17 Juil 2013 - 21:57 | |
| Pour que la mesure soit comparable, il faut mettre la commande PRINT en commentaire, tel que c'est fait dans le programme ThinBasic. Car sinon, les milliers de PRINT mangent ENORMEMENT de temps ! | |
|
Contenu sponsorisé
| Sujet: Re: Défi avec panoramic. | |
| |
|