[Rd] serialize/unserialize vector improvement
luke-tierney at uiowa.edu
luke-tierney at uiowa.edu
Mon Oct 3 15:28:59 CEST 2011
It's on my list to look at but I may not get to it for a couple of
weeks. Someone else may get there earlier.
Best,
luke
On Mon, 3 Oct 2011, Michael Spiegel wrote:
> Any thoughts? I haven't heard any feedback on this patch.
>
> Thanks!
> --Michael
>
> On Wed, Sep 28, 2011 at 3:10 PM, Michael Spiegel
> <michael.m.spiegel at gmail.com> wrote:
>> Hi folks,
>>
>> I've attached a patch to the svn trunk that improves the performance
>> of the serialize/unserialize interface for vector types. The current
>> implementation: a) invokes the R_XDREncode operation for each element
>> of the vector type, and b) uses a switch statement to determine the
>> stream type for each element of the vector type. I've added
>> R_XDREncodeVector/R_XDRDecodeVector functions that accept N elements
>> at a time, and I've reorganized the implementation so that the stream
>> type is not queried once per element.
>>
>> In the following microbenchmark (below), I've observed performance
>> improvements of about x2.4. In a real benchmark that is using the
>> serialization interface to make MPI calls, I see about a 10%
>> improvement in performance.
>>
>> Cheers,
>> --Michael
>>
>> microbenchmark:
>>
>> input <- matrix(1:100000000, 10000, 10000)
>> output <- serialize(input, NULL)
>> for(i in 1:10) { print(system.time(serialize(input, NULL))) }
>> for(i in 1:10) { print(system.time(unserialize(output))) }
>>
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
--
Luke Tierney
Chair, Statistics and Actuarial Science
Ralph E. Wareham Professor of Mathematical Sciences
University of Iowa Phone: 319-335-3386
Department of Statistics and Fax: 319-335-3017
Actuarial Science
241 Schaeffer Hall email: luke at stat.uiowa.edu
Iowa City, IA 52242 WWW: http://www.stat.uiowa.edu
More information about the R-devel
mailing list