hadley/plyr — pull request #92 by crowding (2012-09-14 01:14:11+00:00)
Title: Immutable data frame speedup

This shaves some some time off of immutable data frame operations. The active binding functions only need to be created once, and they can be copied into the new environment when subsetting the data frame.

There are also now some tests for immutable data frames.

```R
d> system("git checkout master")
Already on 'master'
d> detach("package:plyr"); load_all("~/plyr", reset=TRUE)
Loading plyr
d> system.time(dlply(baseball, "id", nrow))
user system elapsed
1.084 0.148 1.274
d> system.time(dlply(idata.frame(baseball), "id", nrow))
user system elapsed
1.487 0.176 1.747
d> system("git checkout immutable")
Switched to branch 'immutable'
d> detach("package:plyr"); load_all("~/plyr", reset=TRUE)
Loading plyr
d> system.time(dlply(baseball, "id", nrow))
user system elapsed
1.090 0.151 1.278
d> system.time(dlply(idata.frame(baseball), "id", nrow))
user system elapsed
0.812 0.114 0.945
```