Benchmark code [Two-Stage / GS Designs]

posted by Helmut Homepage – Vienna, Austria, 2017-08-23 01:48 (1077 d 02:26 ago) – Posting: # 17741
Views: 24,100

Hi ElMaestro,

I changed this part (the number of repetitions should be left to microbench).
vecCritCVs<<-rep(0,500)
 for (Nps in 6:length(vecCritCVs))
  {
   if (Nps==6) iniCV=min(0.709*GMR-0.552, 0.709/GMR -0.552)
               else iniCV=vecCritCVs[Nps-1]
    vecCritCVs[Nps]<<-FindCritCV.Sec(0.8, GMR, Nps, 1, 1e-9, iniCV)
  }
  n2=GetNps(0.5)
 return(n2)
}

Bench.H1()


I ran just 10,000 cause yours was so slow. Improved over previous versions but still 260times slower than mine. BTW, Zhang’s approximation was spot on. No iterations performed at all (to be expected with a high sample size).

Unit: microseconds
            expr   min    lq  mean  median    uq    max neval
      Bench.H1() 27847 28381 29364 28943.8 29707 139057 10000
 sampleN2.TOST()    65    75   111   111.1   143   1614 10000


» Late edit: I believe we can even do something like:
» Nps= 2* length(vecCritCVs[vecCritCVs<=CV])
» - which is faster still and does not explicitly involve a loop.

Given the results from above I didn’t try that.

Dif-tor heh smusma 🖖
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,964 posts in 4,373 threads, 1,459 registered users;
online 13 (0 registered, 13 guests [including 12 identified bots]).
Forum time: Tuesday 04:14 CEST (Europe/Vienna)

My doctor gave me six months to live,
but when I couldn’t pay the bill
he gave me six months more.    Walter Matthau

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