commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles (JIRA)" <>
Subject [jira] [Commented] (MATH-1293) Tabulating the logarithmic factorial
Date Wed, 18 Nov 2015 11:05:11 GMT


Gilles commented on MATH-1293:

Thanks for this proposal.
However, for such contributions (that mainly aim at aggressive performance optimization),
I'd suggest that a helper class be defined with extensive use of (fully documented) constant
Future readers will be thankful to be able to quickly figure out what parts of the code they
are interested in.

> Tabulating the logarithmic factorial
> ------------------------------------
>                 Key: MATH-1293
>                 URL:
>             Project: Commons Math
>          Issue Type: Improvement
>    Affects Versions: 3.5
>            Reporter: Aleksei Dievskii
>            Priority: Minor
>              Labels: feature, patch
>         Attachments: factlog.patch
> Presently, CombinatoricsUtils#factorialLog is calculated via a tabulated value for the
first 21 entries, and for the rest it employs linear-complexity direct summing. For the factorial-heavy
computations this can be rather painful. I propose a patch which allocates additional 16KB
of tabulated log-factorial values, allowing very fast (constant complexity) computation for
arguments up to 17000, and delegating to the log-gamma for the rest. Benchmarks show a speed-up
of up to 200x.

This message was sent by Atlassian JIRA

View raw message