loop ↔ vectorized ↔ direct [Two-Stage / GS Designs]

posted by ElMaestro  – Belgium?, 2017-08-20 15:22  – Posting: # 17721
Views: 23,325

Hi Hötzi,

» Later down you makes calls to vecQT1[df] and vecQT2[df]. That’s awfully slooow. Why not simply call qt(p=foo, df=bar) directly?

That kind of benchmarking is misleading. Here you are doing the vectorise operation of array generation numerous times which will never happens in practice; you only need to initialise the arrays once within every run of 1000000 iterations, possible even keep the arrays/vectors across runs.

I agree that whole "once" operation is faster when you use
vecQT1 <- qt(p=1-alpha1, df=1:5000)
(I had no idea you could do that, actually)
, but if you benchmark the entire you you will see the difference may be a few microsecs out of numerous seconds or minutes. Saving 0.0001% time? That's not optimization, it beautification or achieving the same with fewer lines of code which isn't what I am after.

I am not very experienced with vectorised functions at all - I understand code better if loops are visible.:-D That's just me, of course.

I could be wrong, but...
Best regards,
ElMaestro

Complete thread:

Activity
 Admin contact
20,135 posts in 4,245 threads, 1,385 registered users;
online 34 (1 registered, 33 guests [including 20 identified bots]).
Forum time (Europe/Vienna): 10:30 CET

In the beginner’s mind there are many possibilities.
In the expert’s mind there are few.    Shunryu Suzuki

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