采购和绩效之间是否需要权衡?

节省耶稣

source()在多个.R文件中过度使用要使用的功能是否会带来性能折衷?

换句话说,.R与在多个文件中散布的块相比,在单个文件中(即通常看起来不太漂亮)的代码运行速度明显快吗?

npjc

我认为您应该问这样的事情,与代码的清晰性相比,您获得了什么样的“收益”,但是仅仅是为了完整性……

让我们比较一下:

在这里,我们以1source()long.r3的来源获得10个fxns short1-3.r

长期来说:

# my long source file
fun1 <- function(x) x
fun2 <- function(x) x
fun3 <- function(x) x
fun4 <- function(x) x
fun5 <- function(x) x
fun6 <- function(x) x
fun7 <- function(x) x
fun8 <- function(x) x
fun9 <- function(x) x
fun10 <- function(x) x

简而言之

# my shrt source file
fun1 <- function(x) x
fun2 <- function(x) x
fun3 <- function(x) x

简而言之

fun4 <- function(x) x
fun5 <- function(x) x
fun6 <- function(x) x

简而言之

fun7 <- function(x) x
fun8 <- function(x) x
fun9 <- function(x) x
fun10 <- function(x) x

基准测试:

require(microbenchmark)

src_long <- function(){
source("long.r")
}

src_shorts <- function(){
    source("short1.r")
    source("short2.r")
    source("short3.r")
}


microbenchmark(src_long(),src_shorts())

在我的机器上,我得到:

Unit: microseconds
    expr        min       lq     median      uq      max     neval
  src_long()  691.690  733.271  763.3405  806.3555 3242.216   100
src_shorts() 1354.356 1431.011 1476.2555 1541.9445 3528.760   100

因此,当您有3次调用source()而不是1次调用时,大约需要2倍的时间。大概是由于通过else/if源本身中语句添加了求值700微秒是不容置疑的事情,因此应该遵从提供最清晰代码的内容

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

历史推送和替换之间的权衡是什么?

来自分类Dev

mongolab和heroku之间的连接是否需要ssl?

来自分类Dev

API Gateway和Elastic Beanstalk之间是否需要HTTPS?

来自分类Dev

当数据大小较小时,是否需要权衡存储器到存储器的DMA传输?

来自分类Dev

类中的std :: map:在执行速度和内存使用之间权衡

来自分类Dev

是否需要\ [和\]?

来自分类Dev

在Google云端和Google云端硬盘之间进行转移是否需要付费?

来自分类Dev

在家庭和办公室之间通勤时,我是否需要关闭Macbook Pro的电源?

来自分类Dev

在调制解调器和交换机之间是否需要路由器?

来自分类Dev

内在和内联对Lambda绩效的影响?

来自分类Dev

事件来源:总体根源和绩效

来自分类Dev

在有符号的int和无符号的int之间转换时,是否需要强制类型转换?

来自分类Dev

在iOS设备和蓝牙设备之间发送数据时,是否始终需要使用蓝牙配置文件?

来自分类Dev

在有符号的int和无符号的int之间转换时,是否需要强制类型转换?

来自分类Dev

在用户带宽和下载间隔之间进行权衡

来自分类Dev

在构造函数中使用此代码与内联代码之间的权衡

来自分类Dev

需要澄清元素和索引之间的区别

来自分类Dev

<label/> 和 <a/> 之间不需要的换行

来自分类Dev

gevent和扭曲的生产者绩效问题

来自分类Dev

经典的asp / vbscript类可跟踪员工和绩效指标

来自分类Dev

我是否需要try / catch和-ErrorAction?

来自分类Dev

是否需要std :: atomic加载和存储?

来自分类Dev

NestJS是否需要DTO和实体?

来自分类Dev

RxJava和RxAndroid-是否都需要?

来自分类Dev

HTML文件路径上是否需要“ ./”和“ ../”?

来自分类Dev

Qt C ++ xor是否需要校验和?

来自分类Dev

Bootstrap 4 - 是否需要 Grunt 和 NPM?

来自分类Dev

了解FeatureHasher,碰撞和矢量大小的权衡

来自分类Dev

HTML5是否在带引号的属性之间需要空格?

Related 相关文章

  1. 1

    历史推送和替换之间的权衡是什么?

  2. 2

    mongolab和heroku之间的连接是否需要ssl?

  3. 3

    API Gateway和Elastic Beanstalk之间是否需要HTTPS?

  4. 4

    当数据大小较小时,是否需要权衡存储器到存储器的DMA传输?

  5. 5

    类中的std :: map:在执行速度和内存使用之间权衡

  6. 6

    是否需要\ [和\]?

  7. 7

    在Google云端和Google云端硬盘之间进行转移是否需要付费?

  8. 8

    在家庭和办公室之间通勤时,我是否需要关闭Macbook Pro的电源?

  9. 9

    在调制解调器和交换机之间是否需要路由器?

  10. 10

    内在和内联对Lambda绩效的影响?

  11. 11

    事件来源:总体根源和绩效

  12. 12

    在有符号的int和无符号的int之间转换时,是否需要强制类型转换?

  13. 13

    在iOS设备和蓝牙设备之间发送数据时,是否始终需要使用蓝牙配置文件?

  14. 14

    在有符号的int和无符号的int之间转换时,是否需要强制类型转换?

  15. 15

    在用户带宽和下载间隔之间进行权衡

  16. 16

    在构造函数中使用此代码与内联代码之间的权衡

  17. 17

    需要澄清元素和索引之间的区别

  18. 18

    <label/> 和 <a/> 之间不需要的换行

  19. 19

    gevent和扭曲的生产者绩效问题

  20. 20

    经典的asp / vbscript类可跟踪员工和绩效指标

  21. 21

    我是否需要try / catch和-ErrorAction?

  22. 22

    是否需要std :: atomic加载和存储?

  23. 23

    NestJS是否需要DTO和实体?

  24. 24

    RxJava和RxAndroid-是否都需要?

  25. 25

    HTML文件路径上是否需要“ ./”和“ ../”?

  26. 26

    Qt C ++ xor是否需要校验和?

  27. 27

    Bootstrap 4 - 是否需要 Grunt 和 NPM?

  28. 28

    了解FeatureHasher,碰撞和矢量大小的权衡

  29. 29

    HTML5是否在带引号的属性之间需要空格?

热门标签

归档