[Rd] serialize/unserialize vector improvement

luke-tierney at uiowa.edu luke-tierney at uiowa.edu
Mon Dec 5 20:13:16 CET 2011


Not yet . It overlaps with some other work and will be done in due course.

luke

On Mon, 5 Dec 2011, Michael Spiegel wrote:

> Has there been any movement on this patch? It will improve the
> serialize/unserialize performance.
>
> Thanks,
> --Michael
>
> On Mon, Oct 3, 2011 at 9:28 AM,  <luke-tierney at uiowa.edu> wrote:
>> 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
>
> ______________________________________________
> 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-tierney at uiowa.edu
Iowa City, IA 52242                 WWW:  http://www.stat.uiowa.edu


More information about the R-devel mailing list