PartialFactorPendingEntry changed back to struct for better performance.
This commit is contained in:
1 parent
a185149eba
commit
96bb6a4340
2 files changed
+8
-37
No files matched your search
@@ -1336,13 +1336,15 @@ internal static partial class PrimeOrderCalculator
|
||||
{
|
||||
while (compositeStack.Count > 0)
|
||||
{
|
||||
pending.Add(PartialFactorPendingEntry.Rent(compositeStack.Pop(), knownComposite: false));
|
||||
pending.Add(new(compositeStack.Pop(), knownComposite: false));
|
||||
// pending.Add(PartialFactorPendingEntry.Rent(compositeStack.Pop(), knownComposite: false));
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pending.Add(PartialFactorPendingEntry.Rent(remaining, knownComposite: false));
|
||||
pending.Add(new (remaining, knownComposite: false));
|
||||
// pending.Add(PartialFactorPendingEntry.Rent(remaining, knownComposite: false));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1360,7 +1362,6 @@ internal static partial class PrimeOrderCalculator
|
||||
{
|
||||
cofactor = checked(cofactor * composite);
|
||||
cofactorContainsComposite = true;
|
||||
PartialFactorPendingEntry.Return(entry);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1382,8 +1383,6 @@ internal static partial class PrimeOrderCalculator
|
||||
cofactor = checked(cofactor * composite);
|
||||
cofactorContainsComposite = true;
|
||||
}
|
||||
|
||||
PartialFactorPendingEntry.Return(entry);
|
||||
}
|
||||
|
||||
bool cofactorIsPrime;
|
||||
@@ -1442,13 +1441,13 @@ internal static partial class PrimeOrderCalculator
|
||||
pollardRhoDeadlineReached = Stopwatch.GetTimestamp() > deadlineTimestamp;
|
||||
if (pollardRhoDeadlineReached)
|
||||
{
|
||||
pending.Add(PartialFactorPendingEntry.Rent(composite, knownComposite: true));
|
||||
pending.Add(new (composite, knownComposite: true));
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!TryPollardRhoCpu(composite, deadlineTimestamp, out ulong factor))
|
||||
{
|
||||
pending.Add(PartialFactorPendingEntry.Rent(composite, knownComposite: true));
|
||||
pending.Add(new (composite, knownComposite: true));
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user