{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreibwtbtnxv2f7cagoa2ynxbdboxscwtomimyrdqlggod543hw3cnou",
"uri": "at://did:plc:46ti67tc37qcmwp2vaynk6fq/app.bsky.feed.post/3mgs6s2i2fyw2"
},
"path": "/blog/2026/03/11#rcppde_0.1.9",
"publishedAt": "2026-03-11T15:21:18.295Z",
"site": "http://dirk.eddelbuettel.com",
"tags": [
"RcppDE",
"CRAN",
"r2u",
"DEoptim",
"RcppArmadillo",
"Rcpp",
"CRANberries",
"diffstat report",
"RcppDE page",
"repository",
"Dirk Eddelbuettel",
"Thinking inside the box",
"sponsor me at GitHub"
],
"textContent": "Another maintenance release of our RcppDE package arrived at CRAN, and has been built for r2u. RcppDE is a “port” of DEoptim, a package for derivative-free optimisation using differential evolution, from plain C to C++. By using RcppArmadillo the code became a lot shorter and more legible. Our other main contribution is to leverage some of the excellence we get for free from using Rcpp, in particular the ability to optimise user-supplied _compiled_ objective functions which can make things a lot faster than repeatedly evaluating interpreted objective functions as DEoptim does (and which, in fairness, most other optimisers do too). The gains can be quite substantial.\n\nThis release is again maintenance. We aid Rcpp in the transition away from calling `Rf_error()` by relying in `Rcpp::stop()` which has better behaviour and unwinding when errors or exceptions are encountered. We also overhauled the references in the vignette, added an Armadillo version getter and made the regular updates to continuous integration.\n\nCourtesy of my CRANberries, there is also a diffstat report. More detailed information is on the RcppDE page, or the repository.\n\nThis post by Dirk Eddelbuettel originated on his Thinking inside the box blog. If you like this or other open-source work I do, you can sponsor me at GitHub.",
"title": "Dirk Eddelbuettel: RcppDE 0.1.9 on CRAN: Maintenance",
"updatedAt": "2026-03-11T14:24:00.000Z"
}