Feature #1457
Make SmoothFactor interruptible
Description
The following is disappointingly slow:
N := factorial(1000000); facs := SmoothFactor(N, 1000000);
Slow and not interruptible.
Make it interruptible!
Related issues
History
#1
Updated by John Abbott about 4 years ago
- Related to Feature #718: Insert calls to CheckForInterrupt added
#2
Updated by John Abbott about 4 years ago
- Related to Bug #971: CheckForInterrupt does not work in the expected way added
#3
Updated by John Abbott about 4 years ago
- Related to Design #1086: New design for interrupt mechanism added
#4
Updated by John Abbott about 4 years ago
- Related to deleted (Bug #971: CheckForInterrupt does not work in the expected way)
#5
Updated by John Abbott about 4 years ago
- Related to deleted (Design #1086: New design for interrupt mechanism)
#6
Updated by John Abbott about 4 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 50
- Estimated time set to 0.50 h
I have added the obvious call to CheckForInterrupt
in the main loop in SmoothFactor
(just for BigInt
).
Testing led to a surprise -- see related issue.
#7
Updated by John Abbott about 4 years ago
- Related to Bug #1458: Redesign interrupt mechanism? added
#8
Updated by John Abbott about 4 years ago
- Status changed from In Progress to Resolved
- % Done changed from 50 to 80
The problem is that SmoothFactor
has two (nested) loops either of which can be slow; but I had inserted a call to CheckForInterrupt
only in the outer loop.
Now it seems to work fine.
#9
Updated by John Abbott about 4 years ago
- Status changed from Resolved to Feedback
- % Done changed from 80 to 90
- Estimated time changed from 0.50 h to 0.99 h
Speed test was OK. Also improved impl of SmoothFactor
, but see #1463.
Checked in.
#10
Updated by John Abbott over 3 years ago
- Status changed from Feedback to Closed
- % Done changed from 90 to 100