[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-gsl] gsl_sf_beta efficiency question

From: Helfer Thomas
Subject: [Help-gsl] gsl_sf_beta efficiency question
Date: Fri, 19 Jan 2007 18:57:34 +0100


I need to use the beta function with the GSL version 1.6. I have tried
to compute it either using gsl_sf_beta or by using the relation
Beta(w,z) = Gamma(w)*Gamma(z)/Gamma(w,z) and calling (gsl_sf_gamma).

I measured the CPU time to compute each solution using the rdtsc
assembly function (my processor is an Intel P4).

The results where quite surprising: using the Gamma function
(gsl_sf_gamma) to compute the Beta function seems to be 2x more
efficient than using directly the Beta function (gsl_sf_beta).

To compare the CPU times, I have made a small loop (10 times) that calls
each solution. Here are the results: 

CPU frequency : 3.19213e+09

Beta CPU    Gamma CPU

Loop 1

150736 11936

Loop 2

8632 4896

Loop 3

8280 4760

Loop 4

8280 4752

Loop 5

8288 4752

Loop 6

8536 4760

Loop 7

8296 4760

Loop 8

8280 4760

Loop 9

8280 4760

Loop 10

8280 4760

I’m also surprise to notice that the first iteration costs much more CPU
time than the following iterations.

I’ve attached my C++ test to my mail.


Helfer Thomas

Attachment: gsl_test_beta.cxx
Description: Text Data

reply via email to

[Prev in Thread] Current Thread [Next in Thread]