Convert to and from msgpack objects in R using the official msgpack-c API through Rcpp.
A flowchart describing the conversion
of R objects into msgpack objects and back.
Msgpack EXT types are converted to raw vectors with EXT attributes containing the extension type. The extension type must be an integer from 0 to 127.
Maps are converted to data.frames with additional class “map”. Map
objects in R contain key and value list columns and can be simplified to
named lists or named vectors. The helper function
msgpack_map
creates map objects that can be serialized into
msgpack.
For more information on msgpack types, see here.
Install.packages("RcppMsgPack")
See tests/tests.r
for more examples.
library(RcppMsgPack)
library(microbenchmark)
x <- 1:1e6
microbenchmark(xpk <- msgpack_pack(x), times=3)
## Unit: milliseconds
## expr min lq mean median uq max
## xpk <- msgpack_pack(x) 17.63721 17.84506 18.21852 18.05292 18.50918 18.96544
## neval
## 3
## Unit: milliseconds
## expr min lq mean median uq
## xu <- msgpack_unpack(xpk) 58.40967 92.90216 130.4936 127.3946 166.5356
## max neval
## 205.6765 3