Skip to Content
高效R语言编程
book

高效R语言编程

by Colin Gillespie, Robin Lovelace
August 2018
Intermediate to advanced
227 pages
4h 16m
Chinese
China Electric Power Press Ltd.
Content preview from 高效R语言编程
高效优化
153
library("parallel")
cl = makeCluster(4)
而后简单地 sapply() 替换成 parSapply()
parSapply
cl, 1:N, snakes_ladders
停止已创建的集群是很重要的因为这会导致内存泄漏,
4
下面代码说明这
stopCluster
cl
如果我们实现了完美的并行化并使用了
4
(或更多)核,那我们将获得四倍的
速度提升(我们设置了 makeCluster(4)。不过我们很少能得到这个结果。
在多处理计算机中,这能导致四倍速度提升。然而很少得到这种优化速度,
因为线程间总有通信。
谨慎退出
每次当你用完一个集群对象时要调用 stopCluster() 释放资源。然而,如
果使用并行代码的函数出错,StopCluster() 命令将被忽略。
on.exit() 函数以最少代价处理该问题,不管函数如何退出,on.exit() 一定
会被调用。在并行编程环境中,应有与下列代码类似的代码:
simulate = function(cores) {
cl = makeCluster(cores)
on.exit(stopCluster(cl))
# Do something
}
on.exit() 的另外一个常见用法是配合 par() 函数。如果你使用 par() 函数
在一个函数内改变图形参数,on.exit() 确保了在 par() 函数退出时,这些
参数恢复到它们先前的值。
4
github.com/npct/pct-shiny/issues/292 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

数据科学之编程技术:使用R进行数据清理、分析与可视化

数据科学之编程技术:使用R进行数据清理、分析与可视化

迈克尔 弗里曼, 乔尔 罗斯
R数据科学

R数据科学

Hadley Wickham, Garrett Grolemund

Publisher Resources

ISBN: 9787519820855