Page 1 sur 1

[Corrigé 5.4.44.5010] lenteur et erreur

Posté : 15 septembre 2013, 11:52
par noftal
bonjour Jacques,

si je recule la date de début de la période d'observation avec le DTP, c'est très lent.
Mais surtout, j'ai un message d'erreur qui apparaît de temps en temps lors du rafraichissement (a priori non bloquant mais pénible : il faut cliquer plusieurs fois sur OK pour s'en sortir)

Nota : je suis sur la 5005

Re: [Evolution du solde] lenteur et erreur

Posté : 15 septembre 2013, 12:00
par Jacques Leblond
Bonjour Steph,
Pour la lenteur je ne peux pas faire grand chose, je n'ai pas vraiment de source d'optimisation possible, c'est un algorithme qui charge l'ensemble des cours qui les croisent avec les devises pour tous les titres concernés, cela représente beaucoup de données qu'il faut digérer.
Le calcul avec les opérations courantes est négligeable dans la charge de traitement.

Concernant le bogue, je regarde, est ce que tu l'avais avec la 5004 ?
Est ce que tu as des titres dans une devise différente de l'EUR sur la période affichée ?

Re: [Evolution du solde] lenteur et erreur

Posté : 15 septembre 2013, 12:13
par noftal
Concernant le bogue, je regarde, est ce que tu l'avais avec la 5004 ?
Je ne sais pas. Je n'avais pas testé.
Est ce que tu as des titres dans une devise différente de l'EUR sur la période affichée ?
Oui, sur l'un des comptes, j'ai 1 titre libellé en USD.
D'ailleurs, le bogue disparaît si je décoche le compte en question.

Re: [Evolution du solde] lenteur et erreur

Posté : 15 septembre 2013, 12:18
par Jacques Leblond
noftal a écrit :Oui, sur l'un des comptes, j'ai 1 titre libellé en USD.
D'ailleurs, le bogue disparaît si je décoche le compte en question.
Et j'imagine maintenant que tu n'as pas de devise USD à la date de l'opération d'achat ou de vente.
Je vais corriger le bogue mais le soucis est que ton titre ne sera pas valorisé si tu n'ajoutes pas la valeur de devise manquantes aux dates des opérations.

Re: [Evolution du solde] lenteur et erreur

Posté : 15 septembre 2013, 12:26
par noftal
Le titre a été acheté le 5/10/09 et j'ai bien saisi un cours USD/EUR à cette date (1.4616)

Re: [Evolution du solde] lenteur et erreur

Posté : 15 septembre 2013, 12:27
par noftal
En revanche, la dernière valo est datée du 13/09 alors que mon dernier cours USD/EUR est daté du 10/09...

Re: [Evolution du solde] lenteur et erreur

Posté : 15 septembre 2013, 12:31
par Jacques Leblond
noftal a écrit :En revanche, la dernière valo est datée du 13/09 alors que mon dernier cours USD/EUR est daté du 10/09...
Je ne te suis plus tu es en 2009 ou en 2013 ?
Normalement je vais chercher la dernière devise existante, elle peut donc ne pas exister à la date de l'opération mais si une valeur existe avant, c'est celle là que je considère.

Re: [Evolution du solde] lenteur et erreur

Posté : 15 septembre 2013, 13:00
par noftal
noftal a écrit :En revanche, la dernière valo est datée du 13/09 alors que mon dernier cours USD/EUR est daté du 10/09...
...2013

Re: [Evolution du solde] lenteur et erreur

Posté : 15 septembre 2013, 16:06
par Jacques Leblond
Je ne pense pas que le message provienne du manque de devise proche de la date du jour mais d'un manque au delà de la dernière valeur connue.

Concernant la lenteur, je viens de faire une analyse, en gros, les 2/3 du temps sont du au chargement cours + devise par la requête SQL et pour 1/3 à l'algorithme de traitement qui suit.
J'ai peut être une optimisation pour diviser par 2 le temps sur la requête SQL.

Donc si tu es à 10s, (7s SQL + 3s Algo), on obtiendrait encore 6 à 7s.

Ensuite la seule façon à laquelle je pense pour faire baisser les temps c'est de ne charger qu'un cours sur 2 ou sur 3, la baisse des temps étant presque linéaire avec la quantité de données chargées.
La conséquence est d'avoir moins de précision sur la courbe calculée mais c'est probablement acceptable pour un historique.

Qu'en pensez-vous ? Si je développe cette possibilité je le ferais avec un paramètre que l'utilisateur pourrait choisir, ainsi les utilisateurs avec un processeur puissant pourront tout charger si il le souhaite (comme aujourd'hui).

Re: [Evolution du solde] lenteur et erreur

Posté : 15 septembre 2013, 17:47
par noftal
Je ne pense pas que le message provienne du manque de devise proche de la date du jour mais d'un manque au delà de la dernière valeur connue.
pour le message d'erreur, je n'ai pas compris si tu as trouvé une solution ou si c'est à moi de faire quelque chose pour mon titre libellé en USD

Re: [Evolution du solde] lenteur et erreur

Posté : 15 septembre 2013, 18:34
par Jacques Leblond
noftal a écrit :pour le message d'erreur, je n'ai pas compris si tu as trouvé une solution ou si c'est à moi de faire quelque chose pour mon titre libellé en USD
Il n'y aura plus le message de division par 0 mais cela signifie que si rien de change au niveau des données ton opération ne sera pas prise en compte dans le calcul.
Dans la fonction concernée, je ne fais qu'une division, celle par la devise USD, si la devise = 0 c'est qu'il n'a pas réussi à la trouver.
Il faut donc rechercher si pour toutes tes opérations, tu as bien une devise à la date de l'opération ou avant.

EDIT : Ou alors c'un un bogue chez moi mais j'ai parcouru le code et je ne vois pas comment cela pourrait en être autrement.

Re: [Evolution du solde] lenteur et erreur

Posté : 19 septembre 2013, 17:58
par Jacques Leblond
Bogue corrigé et optimisation des temps de traitement dans la version 5.4.44.5010