Smaller optimizations. Division by zero fixed?
This commit is contained in:
1 parent
5fcd082fff
commit
43cf4a978f
3 files changed
+55
-46
No files matched your search
@@ -5,30 +5,32 @@ namespace PerfectNumbers.Core;
|
||||
|
||||
public sealed class UnboundedTaskScheduler : TaskScheduler
|
||||
{
|
||||
public static UnboundedTaskScheduler Instance { get; } = new();
|
||||
public static UnboundedTaskScheduler Instance { get; } = new();
|
||||
|
||||
private UnboundedTaskScheduler()
|
||||
{
|
||||
}
|
||||
private UnboundedTaskScheduler()
|
||||
{
|
||||
ThreadPool.SetMaxThreads(100_000, 100_000);
|
||||
ThreadPool.SetMinThreads(10_300, 100);
|
||||
}
|
||||
|
||||
public override int MaximumConcurrencyLevel => int.MaxValue;
|
||||
public override int MaximumConcurrencyLevel => int.MaxValue;
|
||||
|
||||
protected override void QueueTask(Task task)
|
||||
{
|
||||
ThreadPool.UnsafeQueueUserWorkItem(static state =>
|
||||
{
|
||||
(UnboundedTaskScheduler Scheduler, Task Task) tuple = ((UnboundedTaskScheduler, Task))state!;
|
||||
tuple.Scheduler.TryExecuteTask(tuple.Task);
|
||||
}, (this, task));
|
||||
}
|
||||
protected override void QueueTask(Task task)
|
||||
{
|
||||
ThreadPool.UnsafeQueueUserWorkItem(static state =>
|
||||
{
|
||||
(UnboundedTaskScheduler Scheduler, Task Task) tuple = ((UnboundedTaskScheduler, Task))state!;
|
||||
tuple.Scheduler.TryExecuteTask(tuple.Task);
|
||||
}, (this, task));
|
||||
}
|
||||
|
||||
protected override bool TryExecuteTaskInline(Task task, bool taskWasPreviouslyQueued)
|
||||
{
|
||||
return TryExecuteTask(task);
|
||||
}
|
||||
protected override bool TryExecuteTaskInline(Task task, bool taskWasPreviouslyQueued)
|
||||
{
|
||||
return TryExecuteTask(task);
|
||||
}
|
||||
|
||||
protected override IEnumerable<Task>? GetScheduledTasks()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
protected override IEnumerable<Task>? GetScheduledTasks()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user