R中的执行效率与程序员效率

Har*_*lan 12 performance r

经典而精彩的Programming Perl参考书中有一个部分,其中作者提供了有关如何编写最高计算效率的 Perl 的建议列表,接下来是关于如何编写最高编程效率的 Perl的建议列表,其次是更多关于维护者高效,移植效率用户效率的建议.建议通常是完全矛盾的.(例如,"使用全局变量","不要使用全局变量.")

我在努力将一些"程序员高效"的R代码转换为"计算和维护者高效"代码时考虑到了这一点.

在这些方面,R风格有哪些有趣且有用的提示?哪些实践最有效的程序员,以及解决其他效率概念的等效实践是什么?

Ric*_*ton 20

Programmer efficient                 |   Computationally efficient
                                     |
Write everything in R                |   Call C/Fortran routines
Reuse code                           |   Custom create everything 
  (functions not scripts,            |
  packages not individual functions) |
Use high level functions             |   Use low-level functions
Write things that work               |   Write it, profile it, optimise it.
                                     |     Repeat ad infinitum.
Run Code Online (Sandbox Code Playgroud)


Dir*_*tel 1

我认为风格指南(如之前讨论的那样)有助于提高程序员的效率。R Core 似乎同意提供一些提示(以及用于一致缩进的 Emacs 参数)。

执行效率较难通过法令来实现。您可能必须依靠经验法则(“矢量化”)和分析。