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("devtools")
library(devtools)
install_github("traversc/msgpack2R")
See tests/tests.r
for more examples.
library(RcppMsgPack)
library(microbenchmark)
x <- as.list(1:1e6)
microbenchmark(xpk <- msgpack_pack(x), times=3)
## Unit: milliseconds
## expr min lq mean median uq
## xpk <- msgpack_pack(x) 96.96307 100.0263 103.2186 103.0895 106.3463
## max neval
## 109.6031 3
microbenchmark(xu <- msgpack_unpack(xpk), times=3)
## Unit: milliseconds
## expr min lq mean median uq
## xu <- msgpack_unpack(xpk) 789.1947 808.5951 844.7374 827.9954 872.5087
## max neval
## 917.0219 3