 |
 |
 |
 |
|
 |
 |
 |
 |
 |
Max Créateur du Jeu

Inscrit le: 23 Jan 2003 Messages: 8277
 |
Posté le: Mar 30 Avr 2013, 21:11 Sujet du message: [réalisé] Traitement du tour : optimisation |
 |
|
J'ai réalisé une petite optimisation sur le traitement du tour.
Désormais tous les vaisseaux d'un joueur qui se déplacent vers la même destination seront traités d'un coup.
Cela devrait réduire le temps de traitement et vos rapports.
Au dernier traitement, les 8000 déplacements de vaisseaux ont pris 1h10.
Si les déplacements avaient été groupés, il n'y aurait eu "que" 1600 ordres à traiter.
On peut donc espérer un gain de 50 mn sur le traitement, ce qui rendrait plus facile l'ouverture le soir même. _________________ AUCUN HRP sur les forums RP merci
 |
|
|
|
|
|
 |
 |
 |
 |
 |
Faëinkar commère galactique

Inscrit le: 25 Nov 2004 Messages: 784
 |
Posté le: Mar 30 Avr 2013, 22:14 Sujet du message: |
 |
|
Cool
Tu devrais même pouvoir passer tous les déplacements en un traitement avec une commande SQL du genre:
UPDATE TABLE_POSITION
SET COLONNE_POSITION=COLONNE_DEPLACEMENT |
|
|
|
|
|
 |
 |
 |
 |
 |
Max Créateur du Jeu

Inscrit le: 23 Jan 2003 Messages: 8277
 |
Posté le: Mar 30 Avr 2013, 22:29 Sujet du message: |
 |
|
J'ai une table point, avec les coordonnées, et les numéros de vaisseaux.
Et j'ai une table ordre, avec notamment le numéro du vaisseau et X/Y.
Donc il faudrait un
UPDATE point SET X = une valeur qui se trouve dans une autre table ?
WHERE ID = idem ...
C'est peut-être possible, mais alors je ne sais pas faire.
Si toutes les infos (numéro de vaisseau, position actuelle, position future) se trouvaient dans la même table, je saurais faire.
Mais tu as peut-être une syntaxe ? _________________ AUCUN HRP sur les forums RP merci
 |
|
|
|
|
|
 |
 |
 |
 |
 |
Adonaï Fille (vu la piplette)

Inscrit le: 08 Avr 2011 Messages: 1044 Localisation: T'au  |
Posté le: Mar 30 Avr 2013, 22:54 Sujet du message: |
 |
|
Donc actuellement avec les nouveautés et toutes les améliorations que tu as apporté, il faut combien de temps au total pour traiter le tour? |
|
|
|
|
|
 |
 |
 |
 |
 |
Katherine Talkesh Concierge

Inscrit le: 26 Avr 2004 Messages: 1935 Localisation: Prima / Feldyn, Ivée, Aön  |
Posté le: Mar 30 Avr 2013, 22:55 Sujet du message: |
 |
|
Moins de temps qu'avant et ça tu devrais le savoir depuis le temps que tu joues. ^^ |
|
|
|
|
|
 |
 |
 |
 |
 |
Faëinkar commère galactique

Inscrit le: 25 Nov 2004 Messages: 784
 |
Posté le: Mer 01 Mai 2013, 02:02 Sujet du message: |
 |
|
ok. Je regarde.
Si je comprends bien, tu as une table avec le n° de vaisseaux et leurs coordonnées: x et y
et une autre table avec le n° de vaisseaux et les coordonnées x et y de destination.
C'est bien ça ?
Tu es en MySql il me semble. A une époque il ne permettait pas les sous-requêtes, avec ta version c'est possible ? |
|
|
|
|
|
 |
 |
 |
 |
 |
Max Créateur du Jeu

Inscrit le: 23 Jan 2003 Messages: 8277
 |
Posté le: Mer 01 Mai 2013, 08:58 Sujet du message: |
 |
|
Je confirme le schéma des tables. Le serveur est sur un Mysql >5, donc les sous-requêtes sont possibles.
Le dernier traitement a pris un peu moins de 5h. Là on peut espérer arriver à 4h. _________________ AUCUN HRP sur les forums RP merci
 |
|
|
|
|
|
 |
 |
 |
 |
 |
Faëinkar commère galactique

Inscrit le: 25 Nov 2004 Messages: 784
 |
Posté le: Lun 06 Mai 2013, 15:45 Sujet du message: |
 |
|
Essaie ce code (teste en dev avant je ne sais pas si ça passera sur MySQL)
TABLE_POINT:
NUM_FLT
X
Y
TABLE_ORDRE:
NUM_FLT
X
Y
UPDATE (
SELECT a.X, a.Y, b.X Xnew, b.Y Ynew
FROM TABLE_POINT a, TABLE_ORDRE b
WHERE a.NUM_FLT=b.NUM_FLT
)
SET
X=XNew
Y=YNew |
|
|
|
|
|
 |
 |
 |
 |
 |
Barmak Concierge

Inscrit le: 07 Avr 2004 Messages: 1549 Localisation: Prima Feldyn  |
Posté le: Lun 06 Mai 2013, 16:17 Sujet du message: |
 |
|
Faëinkar a écrit: |
TABLE_POINT:
NUM_FLT
X
Y
SET
X=XNew
Y=YNew |
X ,Y ??? Encore eux !!???
Sont partout !!
Dehors !!
Bon d'accord !  |
|
|
|
|
|
 |
 |
 |
 |
 |
Hollowman Fille (vu la piplette)
Inscrit le: 03 Mai 2004 Messages: 1160 Localisation: Quelque part entre deux points lumineux  |
Posté le: Lun 06 Mai 2013, 18:06 Sujet du message: |
 |
|
Barmichounette, XY font partie de chacun d'entre nous. Faudra te faire une raison.
Nous avons tous un XY qui sommeille en nous  |
|
|
|
|
|
 |
 |
 |
 |
 |
|
 |
 |
 |
 |