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

posted by ElMaestro  – Denmark, 2017-08-20 17:22 (2874 d 20:21 ago) – Posting: # 17721
Views: 30,109

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.

Pass or fail!
ElMaestro

Complete thread:

UA Flag
Activity
 Admin contact
23,427 posts in 4,929 threads, 1,677 registered users;
72 visitors (0 registered, 72 guests [including 49 identified bots]).
Forum time: 13:43 CEST (Europe/Vienna)

Half the harm that is done in this world
Is due to people who want to feel important.    T. S. Eliot

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