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

Cobol Discussion :

Accès fichier : CBLTDLI vs Read/Write ?


Sujet :

Cobol

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2004
    Messages : 23
    Points : 24
    Points
    24
    Par défaut Accès fichier : CBLTDLI vs Read/Write ?
    Bonjour,

    J'ai une problème concernant le temps de traitement d'un programme qui accès en lecture/écriture via les ordres natifs COBOL : read et write.
    La volumétrie étant importante (6 millions d'enregistrement), je souhaite savoir si passer par IMS (ordre CBLTDLI) permettrait d'optimiser les temps d'accès aux fichiers ?
    En vous remerciant d'avance.

    Cordialement,

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Ingénieur d'Etude Mainframe/AS400
    Inscrit en
    Novembre 2012
    Messages
    1 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'Etude Mainframe/AS400
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 1 767
    Points : 10 764
    Points
    10 764
    Par défaut
    De mémoire, l'intérêt d'IMS pour ce genre de traitement était surtout lié aux possibilités de redémarrage en cas d'Abend ce qui permettait de ne pas relire le fichier en entier en cas de plantage. Pour ce qui est du temps de traitement je ne sais pas s'il y a un réel gain. Mais après cela dépend surtout de ce que fait ton traitement, effectue-t-il des accès DB2 ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2004
    Messages : 23
    Points : 24
    Points
    24
    Par défaut
    Merci Darkzinus de ton retour.
    IMS gère une sorte de tampon et un procopt à GS (resp LS) pour la lecture (resp l'écriture) de fichiers permet d'optimiser le temps de traitement sur les fichiers volumineux.
    D'où ma question.

    C'est un traitement uniquement fichier-fichier, pas de DB2 en lecture ou écriture.

    Y a pas de problématique lié au mode reprise.

  4. #4
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 283
    Points
    3 283
    Par défaut
    A mon sens, aucun intérêt à passer par IMS par accélérer le temps de traitement.

    Bien au contraire, ça peut même être contre productif ...

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Ingénieur d'Etude Mainframe/AS400
    Inscrit en
    Novembre 2012
    Messages
    1 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'Etude Mainframe/AS400
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 1 767
    Points : 10 764
    Points
    10 764
    Par défaut
    Cela étant, 6 millions de lignes c'est certes volumineux mais pas non plus extraordinaire pour du MAINFRAME. Il faut peut être voir du côté des instructions d'INITIALIZE par exemple s'il y a quelque chose à gagner en temps de traitement. S'il y a une également une bonne gestion des tableaux si ton programme en contient.

  6. #6
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    Citation Envoyé par Darkzinus Voir le message
    Cela étant, 6 millions de lignes c'est certes volumineux mais pas non plus extraordinaire pour du MAINFRAME. Il faut peut être voir du côté des instructions d'INITIALIZE par exemple s'il y a quelque chose à gagner en temps de traitement. S'il y a une également une bonne gestion des tableaux si ton programme en contient.
    +1

    6 millions de lignes, MVS est fait pour. Passer par IMS est hautement casse-gueule, pour un gain mineur et aléatoire. Les seuls problèmes de performances que j'ai eu se situaient presque toujours dans les accès référentiel(DB2 ou IDMS), et le peu qui restait dans des algorithmes non optimisés. Si il n'y a pas d'accès référentiel, alors voir l'algorithme.

    P.S. : l'accès au fichier est-il indexé(genre VSAM)? auquel cas le plus performant est la bonne vieille méthode : on trie dans l'ordre d'accès prévue dans un séquentiel, et on fait tourner le programme sur le séquentiel.

    Ce que je veux dire par là, c'est que si personne n'utilise les subtilités d'IMS, c'est que le risque ne vaut pas le bénéfice. En prenant le temps de mesurer les parties couteuses, on peut vraiment optimiser un traitement classique...qui restera classique, maintenable et utilisable.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  7. #7
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 283
    Points
    3 283
    Par défaut
    Citation Envoyé par Jutige Voir le message
    ...
    IMS gère une sorte de tampon et un procopt à GS (resp LS) pour la lecture (resp l'écriture) de fichiers permet d'optimiser le temps de traitement sur les fichiers volumineux.
    Pour un fichier GSAM, le S qui suit le PROCOPT G ou L signifie :

    Large-scale sequential activity. Use GSAM multiple-buffering option
    (BUFFIO).
    Source : IBM V12 - System Utilities


    Il doit être possible de coder des options voisines sur un fichier classique (hors IMS) en jouant sur certains sous-paramètres du paramètre DCB de la carte DD du JCL (paramètre BUFNO par exemple).

    Mais j'ai très rarement vu ce style de codage être utilisé ...

Discussions similaires

  1. Droits (read/write) sur un fichier/répertoire
    Par Lady Chantilly dans le forum Visual C++
    Réponses: 2
    Dernier message: 09/05/2012, 17h04
  2. Réponses: 8
    Dernier message: 07/03/2011, 17h02
  3. Réponses: 7
    Dernier message: 07/11/2010, 13h04
  4. Comment savoir si on a les acces read/write/delete sur un répertoire ?
    Par noooop dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 10/05/2010, 16h28
  5. copie de fichier en utilisant open,read,write
    Par une_tite_question dans le forum POSIX
    Réponses: 3
    Dernier message: 08/09/2008, 14h55

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