Rechercher
Résultats par :
Recherche avancée
Mots-clés

vider  convertir  taille  caractères  

Qui est en ligne ?
Il y a en tout 2 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 2 Invités

Aucun

Voir toute la liste


Partagez
Voir le sujet précédentAller en basVoir le sujet suivant
avatar
Site Admin
Messages : 1029
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Wed 27 Feb - 9:06
Merci !
Je vais regarder ça tranquillement.
avatar
Site Admin
Messages : 1029
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Wed 27 Feb - 13:45
Il me faudrait également ton répertoire Icône <img src=" title="Big Grin" />
avatar
Site Admin
Messages : 1029
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Fri 1 Mar - 15:51
Ce soir, je vais publier une version 2.1 alpha 6 qui devrait corriger, je l'espère, les problèmes de lenteur.
Senior Member
Messages : 585
Date d'inscription : 2012-01-11
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Thu 2 May - 17:33
Voici ma sauvegarde :

001,001,001,
001,001,001,
001,001,001,

Ce que je veux faire :

Pour chaque nombre de ma sauvegarde :
La méthode "casier vaut c.chargecasiernombres(nombre_case_total)" lit les 3 premiers chiffre "001", les convertis en nombre "1", puis lis les 3 suivants, les convertis en nombre, etc...

Mais je n'arrive pas à le faire, malgré l'utilisation de la méthode c.clire(",")

Un petit coup de main ?
avatar
Site Admin
Messages : 1029
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Tue 14 May - 7:39
hmmm, je vais essayer de faire ça.
avatar
Site Admin
Messages : 1029
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Tue 14 May - 17:18
Et voili le résultat :

[php]
/*
Format du fichier en entrée :
012,013,450,
456,545,123,
321,896,897,
789,456,001,
002
*/

globale
conduit :: conduit

principale :
retour :: casier de nombres
compteur <
- 0
début
efface tableau
évoque conduit.sélectionneretouvrir()
essaie lis
tant que vrai, lis
lecture :: nombre
si ((compteur mod 3) == 0) et (compteur!=0), lis
// On supprime le retour chariot qui nous embete bien !
// http://fr.wikipedia.org/wiki/CRLF
évoque conduit.nlire(2) // 2 si on est sous Windows sinon 1 sous Linux
ferme
convertis conduit.clire(",") en lecture
ajoute lecture dans retour
incrémente compteur
ferme
ferme
affiche retour
[/php]
Senior Member
Messages : 585
Date d'inscription : 2012-01-11
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Wed 15 May - 14:42
Ce code n'est pas très différent de celui-ci :

[php]
/*
Format du fichier en entrée :
012013450
456545123
321896897
*/

Ouvrir :
c :: conduit
mémo14 :: texte
mémo14 :: nombre
début
évoque c.sélectionneretouvrir()

Pour chaque nombre_case_hauteur, lis
Pour chaque nombre_case_largeur, lis
mémo14 vaut c.nlire(3)
Convertis mémo14 en num14
ferme
// on avance le curseur de 2 caractères pour éviter de lire le retour à la ligne
mémo14 vaut c.nlire(2)
ferme
[/php]

Le problème de ce code c'est qu'avec une grande sauvegarde, son exécution est très lente.

admincpc a écrit:
Bien vu, je confirme que c'est bien le verbe convertir qui est très lent !
ça va être dur de l'optimiser...

C'est pourquoi tu as ajouté cette fonction :

[php]
casier vaut c.chargecasiernombres(nombre_case_total)
[/php]

Le problème de cette fonction c'est que je suis obligé d'indiquer un seul nombre par ligne dans ma sauvegarde :
007
000
005
000
007
000
000
000
000
000
005
000

Et donc, si j'ai 1000 nombres, la sauvegarde est beaucoup plus lourde !

C'est pourquoi il faudrait que c.chargecasiernombres() puisse utiliser non seulement le retour à la ligne, pour charger le nombre suivant, mais également un symbole.
Par exemple, une virgule.

Ainsi je pourrais écrire ma sauvegarde comme ceci :

007,000,005
000,007,000
000,000,000
000,005,000
avatar
Site Admin
Messages : 1029
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Thu 16 May - 9:28
Sauvegarder un fichier en utilisant comme séparateur le retour chariot ou un virgule ne devrait pas influer sur le temps d'exécution de ton traitement.

Il est même plus compliqué de sauvegarder un fichier qui a la forme suivante :

Code:

007,000,005
000,007,000
000,000,000
000,005,000

Car tu as deux séparateurs : le retour chariot et la virgule !
Senior Member
Messages : 585
Date d'inscription : 2012-01-11
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Thu 16 May - 16:21
Le temps d'exécution de mon programme est ralenti à cause du verbe Convertir utilisé dans ton exemple.
Pour que le temps de chargement de ma sauvegarde soit optimal, il faut donc que j'utilise la fonction chargecasiernombres()

Or, utiliser cette fonction nécessite d'alourdir ma sauvegarde, car je ne peux enregistrer qu'un seul nombre par ligne.

C'est pourquoi j'aimerais que la fonction chargecasiernombres() puisse utiliser comme séparateur une virgule, afin de pouvoir enregistrer plusieurs nombres sur une même ligne.
avatar
Site Admin
Messages : 1029
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Tue 21 May - 9:25
Tu as comparé les temps entre un fichier avec des retours chariots et un fichier avec des virgules comme séparateur ?
Senior Member
Messages : 585
Date d'inscription : 2012-01-11
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Wed 22 May - 2:06
J'ai comparé les temps en utilisant ceci :

[php]
casier vaut c.chargecasiernombres(nombre_case_total)
[/php]

Et ceci :

[php]
Ouvrir :
c :: conduit
mémo14 :: texte
num14 :: nombre
j :: nombre
début

Pour chaque nombre_case_hauteur, lis
Pour chaque nombre_case_largeur, lis
mémo14 vaut c.nlire(3)
Convertis mémo14 en num14
Si num14 != 0, lis
Parcours Sauvegarde_drag avec num14, j
ferme
incrémente j
ferme
// on avance le curseur de 2 caractères pour éviter de lire le retour à la ligne
mémo14 vaut c.nlire(2)
ferme
[/php]

Les temps d'exécution sont les mêmes.

Autant pour moi, je pensait que le verbe convertir était toujours plus lent que la méthode chargecasiernombres().

Du coup, je n'ai plus besoin d'utiliser cette méthode et je peux écrire ma sauvegarde comme bon me semble x)

Encore désolé, j'aurais dû faire cette vérification avant de poster, au lieu de me baser sur mes précédents exemples...
Contenu sponsorisé

Re: Problème de sauvegarde : ralentissement de l'atelier

Voir le sujet précédentRevenir en hautVoir le sujet suivant
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum