Skip to content
Back to formatted view

Raw Message

Message-ID: <9D80368C6A00834189C1982FB64EFA3007EE9381@ORD2MBX07C.mex05.mlsrvr.com>
Date: 2014-01-14T22:46:03Z
From: Boris Aronshtam
Subject: Passing a large array to .Call by reference
In-Reply-To: <21204.41070.388322.108514@max.nulle.part>

Sorry for the post. My mistake. The further investigation shows that .Call() passes arrays/vectors by reference. 

-----Original Message-----
From: Dirk Eddelbuettel [mailto:edd at debian.org] 
Sent: Monday, January 13, 2014 6:27 PM
To: Boris Aronshtam
Cc: r-devel at r-project.org
Subject: Re: [Rd] Passing a large array to .Call by reference


On 14 January 2014 at 02:02, Boris Aronshtam wrote:
| I need to pass a large array to my C function. I am using .Call(). I can clearly see according to the memory consumption (reported by gc()) that the array is duplicated. Is there a way to avoid this duplication and pass the array by reference?

Staring at gc() is at approximate at best. 

R has memory profiling, see Writing R Extensions for how to use it.

There is no code in your post, so not much else I can comment on.

Dirk

-- 
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com