Re: OCamlODBC

From: Maxence Guesdon (max@sbuilders.com)
Date: Mon Jun 05 2000 - 18:58:26 MET DST

  • Next message: Maxence Guesdon: "Re: OCaml Development Environment"

    Bonjour,

     
    > > I'm pleased to announce OCamlODBC 1.0, an OCaml library that you can use
    >
    > Les performances sont-elles satisfaisantes ? J'ai été très déçu par
    > l'accès à MySQL par la bibliothèque ODBC d'un autre langage
    > fonctionnel (60 requêtes/s, contre 1200 avec /usr/bin/mysql
    > exécutant un script). Je ne sais pas si c'était dû au langage,
    > à la bibliothèque, à iodbc ou à mysqlodbc.

    Je n'ai pas réellement fait de test de performance. J'ai exécuté
    quelques centaines de requêtes à la suite et la vitesse convenait à mes
    besoins. Cependant, l'utilisation avec MySQL s'est révélée beaucoup,
    beaucoup plus rapide qu'avec Open Ingres, sans doute une question de
    driver ODBC.
    D'autre part, comme vous pourrez le voir, la bibliothèque fournit deux
    fonctions d'exécution de requête (execute et execute_2). La première
    (execute) tente de ramener tous les enregistrements résultats et ensuite
    de construire la liste de listes OCaml. Hum, hum, c'est vraiment pas bon
    quand il y a beaucoup de résultats car :
    1- cela prend beaucoup de mémoire
    2- même avec quelques options qui vont bien pour le GC (notamment
    réserver quelques dizaines de Mega), ça prend beaucoup de temps.

    D'où la fonction execute_2, qui récupère quelques enregistrements,
    construit la liste de listes, récupère d'autres enregistrements, les
    ajoute à la liste et ainsi de suite. C'est mieux car le GC à l'occasion
    de faire ses choses en mémoire, mais sur les requêtes qui retournent
    beaucoup de données c'est encore un peu lent (voire lent tout court !).

    Pour l'instant je me sers surtout de la base de données pour (surprise
    !) stocker des données et les lire, disons au rythme de l'utilisateur
    car ce sont surtout ses clics qui déclenchent quelques mises à jour
    par-ci par-là.

    Faites-moi savoir si vous faites quelques tests de performance...
     
    Cordialement,

    MG



    This archive was generated by hypermail 2b29 : Tue Jun 06 2000 - 08:58:21 MET DST