IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Optimisation du temps de traitement, ou mauvaise approche ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut Optimisation du temps de traitement, ou mauvaise approche ?
    Hello,

    je travaille actuellement sur un projet de récupération de données boursieresen passant par une API et vb.net.

    Une partie de ces données seront pré-remplies (produit financier, maturité, periode concernée, etc.).

    Dans la représentation de cette démarche, le code se compose avec une srie de "briques" élémentaires qui communiquent entre elles (lien mere-fille). Chaque brique est dédiée à une fonction spécifique (ajout de paramètre, enregistrement de valeur, calcul de moyenne, etc.).

    J'ai donc une série de briques qui sont créées, reliées et détruites à la volée.

    Chaque brique a une "signature" unique, avec seulement les briques feuilles en haut du processus qui sont uniques (briques directement "connectées" au data provider).

    mon problème est le temps de traitement global, dont j'ignore s'il provient de mon code ou du data provider en lui meme.

    En effet, j'ai pas loin de 400 valeurs à enregistrer toutes les 5 minutes.
    Hors, pour le moment ce temps d'enregistrement de 400 vleurs est >>5minutes. Et il est bien entendu que si je réduit à un enregistrement par quart d'heure, plus de soucs, mais granularité trop grosse.

    Je cherche donc des pistes d'amélioration. Les multi threads n'ont pas vraiment apporté d'amélioration.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Je continue ma description, si ca peut aider

    Les communications se font dans le sens montant par des Sub() et dans le sens descendant par des Event déclenchés et catchés par les briques enfants.

    Les résultats sont actuellements passés en paramètre dans les évènements.

    serait-il pertinnent par exemple d'écrire les dits résultats dans un fichier et de passer le path du dit fichier en paramètre à la place ?

    J'avoue êtr eun peu dans la panade, à avoir une problématique qui me dépasse un peu compte tenu de mon inexpérience en VB.net
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    ca manque de détails ...

    par contre si tu fais 400 requetes, le problème est là, il faut en faire un seule pour gagner du temps (une requete pour 400 valeurs devrait faire quelques millisecondes)
    le temps de traitement sur des classes non graphiques est en général insignifiant
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    OK,

    les requetes envoyées à l'API sont composées de 4 éléments :
    - le ticker (code qui définit un instrumlent financier)
    - une date de début de période
    - une date de fin de période
    - la fréquence (par tranche de X minutes)

    Le problème est qu'autant faire des requêtes me parait aussi être rudimentaire, mais je n'arrive pas à m'expliquer le temps de réponse aussi long de la part du data provider

    Car si je n'arrive pas à diminuer outre mesure mon temps de traitement une fois l'information obtenue, je me pose des questions sur le temps d'obtention de l'information à la source.

    J'utilise l'API car me paraissait être la solution, mais je me demande si l'utilisation d'une feuille Excel qui récupère les données en continu, avec un enregistrement à intervalle régulier en dehors du fichier ne serait pas plus "simple" :/
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    qu'appelles tu data provider ??
    de quelle api parles tu ???

    sans détails on ne pourra pas t'aider

    system.Diagnostics.stopwatch : un chronomètre qui permet de savoir où le code est long
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Je passe par CQG, un concurrent de Bloomberg/Reuters et co.
    mon data provider est ma plate-forme boursiere.

    de quels détails as-tu besoin.

    j'ai 10K lignes de code jusqu'à présent...
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

Discussions similaires

  1. optimiser le temp du traitement d'une boucle
    Par riad_09 dans le forum Développement
    Réponses: 1
    Dernier message: 05/11/2009, 08h38
  2. Réponses: 2
    Dernier message: 11/04/2009, 12h57
  3. optimisation du temps de traitement cat
    Par josepeemiasa dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 10/03/2008, 18h35
  4. Optimisation du temps de traitement
    Par djuddju dans le forum Oracle
    Réponses: 4
    Dernier message: 20/04/2006, 21h16
  5. optimisation de temps de traitement xml/xslt
    Par Erwy dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 06/05/2004, 16h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo