GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||
GeezerVison is showing github.com — Speed up `math.perm()` for large results by jseop-lim · Pull Request #1265 · oracle/graalpython Conversation
Contributor
DescriptionFixes #1254
AS-ISTO-BETimings for
Changes
Testing
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactionscalculatePerm multiplied the k factors one at a time into a growing product, so each step was a big-by-small multiplication and the whole loop was quadratic in the result size. math.perm(615913, 286885) took about 28 s on a JVM build against about 1 s on CPython. Splitting the range in halves keeps the operands of each multiplication balanced, so BigInteger can use its faster algorithms; the same call now takes 0.3 s. Signed-off-by: Jeongseop Lim <[email protected]>
jseop-lim
force-pushed
the
fix/math-perm
branch
from
e10ec09 to
d99ac7a
Compare
msimacek
reviewed
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please move the test into
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactionsThis branch has not been deployedNo deployments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
ReviewersAt least 1 approving review is required to merge this pull request. Uh oh!
There was an error while loading. Please reload this page. AssigneesNo one assignedLabels
OCA Verified
ProjectsMilestoneNo milestoneDevelopmentSuccessfully merging this pull request may close these issues. [Bug]:math.perm is quadratic in the result size, 50 to 100 times slower than CPython for large results
Uh oh!
There was an error while loading. Please reload this page. Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later. | ||||||||||||||||||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |