implicit return? [R for BE/BA]

posted by Helmut Homepage – Vienna, Austria, 2019-04-28 20:50  – Posting: # 20257
Views: 2,641

Dear Detlew,

» » I always use explicit return(something) in my functions,…
»
» A good idea.

Yep.

» But if you use R you are told that doing so has the penalty of a longer run-time.
» Bloody Hell!

Does that really matter?
library(microbenchmark)
impl <- function(x) {
  if (x == 0) {
    "foo"
  } else {
    "bar"
  }
}
expl <- function(x) {
  if (x == 0) {
    return("foo")
  } else {
    return("bar")
  }
}
res <- microbenchmark(impl(round(runif(1), 0)),
                      expl(round(runif(1), 0)), times=2000L)
print(res)

Unit: microseconds
                     expr   min    lq     mean median    uq      max neval cld
 impl(round(runif(1), 0)) 1.811 1.812 2.686167  1.813 2.114 1383.479  2000   a
 expl(round(runif(1), 0)) 1.811 1.812 2.955002  1.813 2.114 1879.152  2000   a


» Weakly typed (R) against strong typed language (C or C++).

Exactly. You know that I’m facing a similar story with the forum scripts (PHP: weakly typed) generating database-queries (SQL: strongly typed). Bloody scavenger hunt.

Cheers,
Helmut Schütz
[image]

The quality of responses received is directly proportional to the quality of the question asked. 🚮
Science Quotes

Complete thread:

Activity
 Admin contact
20,242 posts in 4,259 threads, 1,395 registered users;
online 6 (0 registered, 6 guests [including 3 identified bots]).
Forum time (Europe/Vienna): 10:14 CET

Not to be absolutely certain is, I think,
one of the essential things in rationality.    Bertrand Russell

The Bioequivalence and Bioavailability Forum is hosted by
BEBAC Ing. Helmut Schütz
HTML5