Commit Graph
236 Commits
Author SHA1 Message Date
mlemanczyk 06b08708d9 Merge branch 'codex/analyze-gc-instances-in-checkdivisors-method' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into codex/analyze-gc-instances-in-checkdivisors-method 2025-10-17 01:24:44 +02:00
Marek Lemańczyk 26894db181 Merge pull request #179 from mlemanczyk/codex/optimize-partialfactor-method-in-primeordercalculator
Hoist Pollard Rho deadline checks outside factoring loop
2025-10-17 01:15:04 +02:00
Marek Lemańczyk b81fe3de75 Hoist Pollard Rho deadline checks outside factoring loop 2025-10-17 01:14:51 +02:00
mlemanczyk d6a1fa0b51 Tiny cleanup 2025-10-17 01:05:13 +02:00
mlemanczyk 0a2e65e190 Small optimizations 2025-10-17 00:29:53 +02:00
mlemanczyk e63fba4df1 Merge branch 'codex/analyze-gc-instances-in-checkdivisors-method' of https://github.com/mlemanczyk/even-perfect-numbers-scanner into codex/analyze-gc-instances-in-checkdivisors-method 2025-10-17 00:11:47 +02:00
mlemanczyk 1b03fb311a Cache switched to thread static for better performance 2025-10-17 00:10:49 +02:00
Marek Lemańczyk 1ce1622388 Optimize CPU small prime exponent extraction 2025-10-17 00:01:43 +02:00
mlemanczyk 140c291344 Small optimizations to limit code branches 2025-10-16 23:37:06 +02:00
Marek Lemańczyk ab86fc16fe Fix quotient and remainder calculation in factor extraction 2025-10-16 22:01:34 +02:00
Marek Lemańczyk d2e7e4905a Streamline primality cache locking 2025-10-16 21:52:42 +02:00
Marek Lemańczyk 8d9b8b1829 Replace primality cache with lock-backed dictionary 2025-10-16 21:51:42 +02:00
mlemanczyk 4c81f9e5a2 IsPrime cache reused 2025-10-16 21:21:40 +02:00
mlemanczyk 10751bf841 Concurrent dictionary added for IsPrime results caching to utilize the repetition of composites. 2025-10-16 21:10:58 +02:00
mlemanczyk aa4ff799f3 Small optimizations 2025-10-16 19:46:25 +02:00
mlemanczyk 07395830a5 Unnecessary cleanup commented out 2025-10-16 18:13:28 +02:00
Marek Lemańczyk e53bb6ba43 Track small-prime remainders with cycle steppers 2025-10-16 17:18:27 +02:00
Marek Lemańczyk fb08a61c66 Restore pooled small factor buffers 2025-10-16 17:18:19 +02:00
Marek Lemańczyk 949b5f891c Return windowed Montgomery odd powers to pooling 2025-10-16 04:52:22 +02:00
Marek Lemańczyk 3e7ee6ab46 Restore pooled buffers in partial factorization 2025-10-16 04:52:17 +02:00
Marek Lemańczyk 9c474fc241 Use stack buffers for small composite collections 2025-10-16 00:59:00 +02:00
Marek Lemańczyk 3e7bffc812 Refactor heuristic pooling to cut GC pressure 2025-10-16 00:37:01 +02:00
Marek Lemańczyk 0a23502441 Clear heuristic candidate list without try-finally 2025-10-15 23:57:46 +02:00
Marek Lemańczyk 51730bcba3 Reduce GC pressure in divisor checking pipeline 2025-10-15 23:43:27 +02:00
Marek Lemańczyk 571b5a9938 Replace divisor scan UInt128 usage with thread-static GpuUInt128 2025-10-15 22:48:36 +02:00
Marek Lemańczyk 9ab87a8b9b Streamline factor cache lease usage in CPU tester 2025-10-15 21:55:30 +02:00
Marek Lemańczyk 64c3721db4 Streamline divisor factor pooling for CPU hot path 2025-10-15 21:50:11 +02:00
Marek Lemańczyk c99aebdf68 Restore divisor cycle fallback and enforce session disposal guard 2025-10-15 21:29:24 +02:00
Marek Lemańczyk 763714307f Eliminate GC allocations from CPU divisor scan hot path 2025-10-15 20:48:42 +02:00
Marek Lemańczyk b0ce7152f7 Pool factor cache entries to keep CPU factoring allocation-free 2025-10-15 20:48:33 +02:00
Marek Lemańczyk 34fcd62c23 Eliminate GC pressure from divisor cycle factoring 2025-10-15 19:32:53 +02:00
Marek Lemańczyk c8f8132db7 Align divisor pooling with review feedback 2025-10-15 19:32:45 +02:00
Marek Lemańczyk e44662413a Use thread-static pools in CPU divisor testing 2025-10-15 18:10:39 +02:00
Marek Lemańczyk 0b831b5a23 Reduce PartialFactor GC pressure 2025-10-15 04:39:46 +02:00
mlemanczyk 2f85636a2a Tiny cleanup 2025-10-15 03:21:38 +02:00
mlemanczyk d3695a3dc3 Pools made thread static. Various small optimizations. "in" parameter added to read-only method parameters 2025-10-15 02:17:13 +02:00
mlemanczyk 7c71d5165e TODO added 2025-10-13 21:16:03 +02:00
mlemanczyk e9373dd8c9 PollardRho extended to allow running with 10_240 threads. Configuration made static to prevent unnecessary GC pressure. 2025-10-13 20:44:15 +02:00
mlemanczyk 313286f70d Configuration adjusted 2025-10-13 20:13:44 +02:00
mlemanczyk 5a4a5e4d98 Heuristic defaults restored. 2025-10-10 22:48:46 +02:00
mlemanczyk ee2df92a15 Performance improvement to decrease startup time. 2025-10-10 22:48:28 +02:00
Marek Lemańczyk c9ae56a5ec Remove default prime order overloads 2025-10-10 21:51:41 +02:00
mlemanczyk 64c08f9b49 We'll resolve the check when divisor cycle equals p. Tiny cleanup 2025-10-09 00:18:48 +02:00
Marek Lemańczyk adac9ff5f9 Compact by-divisor candidate filtering 2025-10-08 23:34:35 +02:00
Marek Lemańczyk 9a81f5f685 Enable parallel by-divisor scanning threads 2025-10-08 22:45:53 +02:00
Marek Lemańczyk 85a98eb009 Reduce GPU remainder transfers for divisor filtering 2025-10-08 22:28:36 +02:00
Marek Lemańczyk c45b3951c3 Align CPU by-divisor scan with cached divisor filters 2025-10-08 20:15:26 +02:00
mlemanczyk 6dc26336c6 Remainder check adjusted to PrimesGenerator. 2025-10-08 19:56:53 +02:00
Marek Lemańczyk 85634da6eb Filter CPU divisor checks by admissible residues 2025-10-08 19:23:09 +02:00
Marek Lemańczyk 6918bd28ff Make by-divisor GPU kernels reuse read-only operands 2025-10-08 18:47:16 +02:00