[
https://issues.apache.org/jira/browse/MATH-1153?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14249101#comment-14249101
]
Thomas Neidhart commented on MATH-1153:
---------------------------------------
btw. if the two method algorithmBB and algorithmBC are made static with an
additional parameter for the random generator to be used, you could avoid all
the variable renamings and the code would be cleaner imho.
> Sampling from a 'BetaDistribution' is slow
> ------------------------------------------
>
> Key: MATH-1153
> URL: https://issues.apache.org/jira/browse/MATH-1153
> Project: Commons Math
> Issue Type: Improvement
> Reporter: Sergei Lebedev
> Priority: Minor
> Fix For: 3.4
>
> Attachments: ChengBetaSampler.java, ChengBetaSamplerTest.java
>
>
> Currently the `BetaDistribution#sample` uses inverse CDF method, which is
> quite slow for sampling-intensive computations. I've implemented a method
> from the R. C. H. Cheng paper and it seems to work much better. Here's a
> simple microbenchmark:
> {code}
> o.j.b.s.SamplingBenchmark.algorithmBCorBB 1e-3 1000 thrpt 5
> 2592200.015 14391.520 ops/s
> o.j.b.s.SamplingBenchmark.algorithmBCorBB 1000 1000 thrpt 5
> 3210800.292 33330.791 ops/s
> o.j.b.s.SamplingBenchmark.commonsVersion 1e-3 1000 thrpt 5
> 31034.225 438.273 ops/s
> o.j.b.s.SamplingBenchmark.commonsVersion 1000 1000 thrpt 5
> 21834.010 433.324 ops/s
> {code}
> Should I submit a patch?
> R. C. H. Cheng (1978). Generating beta variates with nonintegral shape
> parameters. Communications of the ACM, 21, 317–322.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)