English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
Severe loss of performance due to new signal handling
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2006-03-21 (01:33)
From: Robert Roessler <roessler@r...>
Subject: Re: [Caml-list] Severe loss of performance due to new signal handling
Xavier Leroy wrote:
>  > It seems that changes to signal handling between OCaml 3.08.4 and 3.09.1
>  > can lead to a very significant loss of performance (up to several orders
>  > of magnitude!) in code that uses threads and performs I/O (tested on 
> Linux).
>  > [...]
>  > Maybe some assembler guru can repeat this result and explain to us
>  > what's going on...
> Short explanation: atomic instructions are dog slow.

At the risk of being "irrelevant", I wanted to nail down exactly what 
assertion is being made here: are we talking about directly executing 
in assembly code the relevant x86[-64]/ppc/whatever instructions for 
"read-and-clear", or going through OS-dependent access routines like 
Windows' InterlockedExchange()?

Or: is the source of the dog slow behavior because of OS overhead, or 
is it a low-level issue like memory barriers/cache lines getting 
flushed/something else?

Robert Roessler