Browse thread
Severe loss of performance due to new signal handling
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| 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 roessler@rftp.com http://www.rftp.com