如何加快 bookdown 的生成?
How to speed up bookdown generation?
我目前正在使用 bookdown 编写一本书。它使用一些需要时间来编译、执行和获取输出的代码片段。我使用以下命令为本书构建 HTML、PDF 和 EPUB 文件:
Rscript -e "bookdown::render_book('index.Rmd', 'bookdown::gitbook')"
Rscript -e "bookdown::render_book('index.Rmd', 'bookdown::pdf_book')"
Rscript -e "bookdown::render_book('index.Rmd', 'bookdown::epub_book')"
因此,每次生成书籍文件时都会进行实际计算,从而增加总生成时间 ×3。
有没有办法在第一个 运行 上生成一些中间文件,然后用它来构建 HTML、PDF 和 EPUB 输出?
我通过将以下代码片段添加到我的 index.Rmd
中,设法显着减少了再生时间:
```{r include=FALSE}
knitr::opts_chunk$set(cache = TRUE)
```
更新:
作为 and both suggested, it's better to cache only time-consuming 代码块:
```{go time-sleep-demo cache = TRUE}
package main
import (
"fmt"
"time"
)
func main() {
fmt.Print("Hello ")
time.Sleep(10 * time.Second)
fmt.Println("world!")
}
```
我目前正在使用 bookdown 编写一本书。它使用一些需要时间来编译、执行和获取输出的代码片段。我使用以下命令为本书构建 HTML、PDF 和 EPUB 文件:
Rscript -e "bookdown::render_book('index.Rmd', 'bookdown::gitbook')"
Rscript -e "bookdown::render_book('index.Rmd', 'bookdown::pdf_book')"
Rscript -e "bookdown::render_book('index.Rmd', 'bookdown::epub_book')"
因此,每次生成书籍文件时都会进行实际计算,从而增加总生成时间 ×3。
有没有办法在第一个 运行 上生成一些中间文件,然后用它来构建 HTML、PDF 和 EPUB 输出?
我通过将以下代码片段添加到我的 index.Rmd
中,设法显着减少了再生时间:
```{r include=FALSE}
knitr::opts_chunk$set(cache = TRUE)
```
更新:
作为
```{go time-sleep-demo cache = TRUE}
package main
import (
"fmt"
"time"
)
func main() {
fmt.Print("Hello ")
time.Sleep(10 * time.Second)
fmt.Println("world!")
}
```