From james.s.muller at gmail.com  Wed Dec 28 00:58:46 2011
From: james.s.muller at gmail.com (James Muller)
Date: Tue, 27 Dec 2011 18:58:46 -0500
Subject: [Rd] Initializing a large data structure to be accessed strictly
 within a shared C library
Message-ID: <CAChCbnrNt03xcks9OwknkgEawwmpx=SXFW4WQsOdX2mg0NwH1Q@mail.gmail.com>

Dear R-help members,

*(My apologies for cross-posting to both R-help and R-devel -- this
question straddles both domains...)*

The question:  Is it possible to initialize and later free a large data
structure strictly within a shared C library, to be used by a function in
the C library that I'll call from R--without ever having to pass data to
and from R? This is analogous to C++ object initialization/use/destruction,
but if possible I'd like to stay in C.

The context: I'm implementing a particle swarm optimization of a
60-dimension nonlinear transform, where the transform is defined in a
half-gigabyte dataset. By carefully initializing a C struct I can trim a
large amount of work from the PSO iteration stage. This is, of course,
straight forward if I implement the whole thing in a self-contained C
program--however, I'd like R to handle the optimization routines, and my
shared library to implement the value function.

So: what do folks think?

Cheers,

James



[Rd] Initializing a large data structure to be accessed strictly within a shared C library
James Muller