Browse thread
How to read different ints from a Bigarray?
[
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: | 2009-11-02 (16:33) |
From: | Mauricio Fernandez <mfp@a...> |
Subject: | Re: [Caml-list] Re: How to read different ints from a Bigarray? |
On Mon, Nov 02, 2009 at 05:11:27PM +0100, Goswin von Brederlow wrote: > Richard Jones <rich@annexia.org> writes: > > > On Sun, Nov 01, 2009 at 04:11:52PM +0100, Goswin von Brederlow wrote: > >> But C calls are still 33% slower than direct access in ocaml (if one > >> doesn't use the polymorphic functions). > > > > Are you using noalloc calls? > > > > http://camltastic.blogspot.com/2008/08/tip-calling-c-functions-directly-with.html > > Yes. And I looked at the bigarray module and couldn't figure out how > they differ from my own external function. Only difference I see is > the leading "%" on the external name. What does that do? That means that it is using a hardcoded OCaml primitive, whose code can be generated by the compiler via C--. See asmcomp/cmmgen.ml. > > I would love to see inline assembler supported by the compiler. It might be possible to hack support for C-- expressions in external declarations. That'd be a sort of portable assembler. -- Mauricio Fernandez - http://eigenclass.org