Version française
Home     About     Download     Resources     Contact us    
Browse thread
Contrib
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Fabrice Le Fessant <lefessan@p...>
Subject: Contrib

Bonjour,

  Utilisant fréquemment les libairies Unix et Thread, tous mes
programmes sont linkés en mode -custom. De fait, les exécutables sont
très gros (ils contiennent la machine virtuelle modifiée et le
bytecode) et leur compilation est longue (la machine virtuelle est
recréée à chaque fois, l'écriture sur NFS est longue).
  Pour ces raisons, j'ai fait un petit patch au compilateur, qui
permet de créer des machines virtuelles autres que ocamlrun. Une fois
la machine virtuelle créée, les exécutables sont petits et leur 
compilation rapide. De plus, comme ils ne contiennent que du bytecode,
ils sont indépendants des machines.

Ce patch est disponible à cette URL:
http://www-sor.inria.fr/~lefessan/src/shared-vm.tar.gz

  J'ai aussi un peu améliorer ma librairie X11 en Ocaml. 
Elle est maintenant compilable aussi bien en bytecode (avec threads) 
qu'en code natif (sans threads). Les requêtes peuvent être synchrones
(avec attente de la réponse) ou asynchrones (retournent un événement
sur lequel on peut se synchroniser plus tard pour récupérer la réponse). 
  Encore peu documentée, mais accompagnée de petits programmes
exemples. Les noms correspondent à peu près à ceux de la libX11 
(XGetWindowAttributes devient X.getWindowAttributes en synchrone et
XASYNC.getWindowAttributes en asynchrone, dans le module Xlib).

Ces programmes sont disponibles à:
http://www-sor.inria.fr/~lefessan/src/index.html
(ainsi qu'un patch pour générer des fichiers HTML avec liens hypertextes)

__________________________________________________________________________

Hello,

  I frequently use Unix and Thread libraries, so, my programs are 
always linked in -custom mode. As a consequence, they are often really
big (they contain a modified virtual machine and some bytecode) and 
their compilation is long (the virtual machine is compiled each time,
and 600ko files write is long on NFS).

  For this reasons, I have done a little patch to ocamlc, to create
new virtual machines other than ocamlrun. Once you have created your
modified virtual machine, program executables are small and
compilation is really faster. Moreover, as they only contain bytecode,
they are machine-independant.

this patch is available at:
http://www-sor.inria.fr/~lefessan/src/shared-vm.tar.gz

  I have also improved my X11 library in Ocaml.
Now, you can compile it either in bytecode (with threads) or in native
code (without threads). Requests can be synchron (wait for reply) or
asynchron (you get an event on which you will synchronize latter to
get the reply).
  Bad documented, but comes with some small program examples.
Request names are close to libX11 ones (XGetWindowAttributes 
become X.getWindowAttributes in synchron mode and XASYNC.getWindowAttributes
in asynchron mode, in Xlib module).

These programs are available at:
http://www-sor.inria.fr/~lefessan/src/index.html
(and also a patch to generate HTML files with hypertext links).

-- Fabrice LE FESSANT
Fabrice.Le_Fessant@inria.fr