stopifnot(require(data.table))
stopifnot(require(microbenchmark))
	
dat <- data.frame(x=sample.int(10^6, 10^5))
setDT(dat)
	
microbenchmark(transform(dat, y=sin(x)))
# Unit: milliseconds
#                       expr     min       lq     mean   median       uq
#  transform(dat, y = sin(x)) 67.5327 71.20615 74.45437 72.85815 75.73555
#      max neval
#  120.9635   100

microbenchmark(dat[,y:=sin(x)])
# Unit: milliseconds
#                   expr    min      lq     mean median     uq    max neval
# dat[, `:=`(y, sin(x))] 4.2602 4.40465 4.816463 4.6203 5.0858 9.8246   100

