[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 22/28] libxl: ocaml: event management



[...]
> The OCaml manual[*] (S19.7.2) hints that the name lookup is a bit slow:
> 
> "The pointer returned by caml_named_value is constant and can safely be
> cached in a C variable to avoid repeated name lookups. On the other hand,
> the value pointed to can change during garbage collection and must always
> be recomputed at the point of use."
> 
> 
> The manual suggests caching the value * in a static like this:
> 
>    void fd_deregister(void *user, int fd, void *for_app_registration)
>    {
>      CAMLparam0();
>      CAMLlocalN(args, 2);
>      static value * func = NULL;
>      if (func == NULL) {
>        /* First time around, look up by name */
>        func = caml_named_value("fd_deregister");
>      }
>    ...
> 
> 
> [*] http://caml.inria.fr/pub/docs/manual-ocaml-4.00/manual033.html

Cool, I'll change that.

Cheers,
Rob

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.