rstudio/shiny — pull request #408 by jcheng5 (2014-02-26 00:41:49+00:00)
Title: Faster tag rendering

Partially fixes #407. The doRenderTags portion of the code is about as fast as it was in Shiny 0.8.0. The rewriteTags passes for singleton and head processing is a lot of additional overhead though, with an overall result that is still slower than where we want to be.

```
library(shiny)
Rprof(line.profiling=TRUE)
system.time({
n_choices <- 10000
choices <- paste0("choice", 1:n_choices)
names(choices) <- paste(choices, "name")
s <- selectInput("select", "Select:", multiple = TRUE, choices = choices)
format(s)
})
Rprof(NULL)

# Results on Joe's Core i3 Linux desktop

0.8.0:
user system elapsed
1.847 0.113 1.958

master:
user system elapsed
6.321 0.213 6.532

faster-tags:
user system elapsed
4.755 0.260 5.012
```