Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Maxence Guesdon <max@sbuilders.com>
To: Pascal Brisset <pascal.brisset@rd.francetelecom.fr>,
	caml list <caml-list@inria.fr>
Subject: Re: OCamlODBC
Date: Mon, 05 Jun 2000 18:58:26 +0200	[thread overview]
Message-ID: <393BDC32.6EA0D741@sbuilders.com> (raw)
In-Reply-To: <200006051535.RAA02366@cerbere.sbuilders.com>

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





      parent reply	other threads:[~2000-06-06  6:55 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-06-04 11:01 OCamlODBC Maxence Guesdon
     [not found] ` <200006051535.RAA02366@cerbere.sbuilders.com>
2000-06-05 16:58   ` Maxence Guesdon [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=393BDC32.6EA0D741@sbuilders.com \
    --to=max@sbuilders.com \
    --cc=caml-list@inria.fr \
    --cc=pascal.brisset@rd.francetelecom.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox