[ https://issues.apache.org/jira/browse/MATH-1153?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergei Lebedev updated MATH-1153: --------------------------------- Attachment: ChengBetaSamplerTest.java ChengBetaSampler.java > 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.3 > > 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)