Skip to content
This repository was archived by the owner on Mar 24, 2026. It is now read-only.

Commit 57cf690

Browse files
authored
性能(Program.cs):优化PipeOptions调度方式 (#10660)
* 性能(Program.cs):优化PipeOptions调度方式 将PipeOptions的readerScheduler和writerScheduler由ThreadPool调度改为Inline调度,减少线程切换开销,提升性能,但可能影响并发和响应性,其他参数保持不变 * 优化(csproj):升级TouchSocket相关包至4.1.1 升级TouchSocket.Http、TouchSocket、TouchSocket.Hosting、TouchSocket.WebApi等NuGet包版本至4.1.1,提升功能与性能,获取最新修复
1 parent 210ce3c commit 57cf690

5 files changed

Lines changed: 12 additions & 12 deletions

File tree

frameworks/CSharp/touchsocket/src/TouchSocketHttp/Program.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,17 @@ await service.SetupAsync(new TouchSocketConfig()
2323

2424
options.ReceivePipeOptions = new PipeOptions(
2525
pool: MemoryPool<byte>.Shared,
26-
readerScheduler: PipeScheduler.ThreadPool,
27-
writerScheduler: PipeScheduler.ThreadPool,
26+
readerScheduler: PipeScheduler.Inline,
27+
writerScheduler: PipeScheduler.Inline,
2828
pauseWriterThreshold: 1024 * 1024,
2929
resumeWriterThreshold: 1024 * 512,
3030
minimumSegmentSize: 4096,
3131
useSynchronizationContext: false);
3232

3333
options.SendPipeOptions = new PipeOptions(
3434
pool: MemoryPool<byte>.Shared,
35-
readerScheduler: PipeScheduler.ThreadPool,
36-
writerScheduler: PipeScheduler.ThreadPool,
35+
readerScheduler: PipeScheduler.Inline,
36+
writerScheduler: PipeScheduler.Inline,
3737
pauseWriterThreshold: 64 * 1024,
3838
resumeWriterThreshold: 32 * 1024,
3939
minimumSegmentSize: 4096,

frameworks/CSharp/touchsocket/src/TouchSocketHttp/TouchSocketHttp.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</PropertyGroup>
1010

1111
<ItemGroup>
12-
<PackageReference Include="TouchSocket.Http" Version="4.0.8" />
12+
<PackageReference Include="TouchSocket.Http" Version="4.1.1" />
1313
</ItemGroup>
1414
</Project>
1515

frameworks/CSharp/touchsocket/src/TouchSocketHttpPlatform/TouchSocketHttpPlatform.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
</PropertyGroup>
1010

1111
<ItemGroup>
12-
<PackageReference Include="TouchSocket" Version="4.0.8" />
12+
<PackageReference Include="TouchSocket" Version="4.1.1" />
1313
</ItemGroup>
1414
</Project>

frameworks/CSharp/touchsocket/src/TouchSocketWebApi/Program.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,17 @@ public static void Main(string[] args)
2626

2727
options.ReceivePipeOptions = new PipeOptions(
2828
pool: MemoryPool<byte>.Shared,
29-
readerScheduler: PipeScheduler.ThreadPool,
30-
writerScheduler: PipeScheduler.ThreadPool,
29+
readerScheduler: PipeScheduler.Inline,
30+
writerScheduler: PipeScheduler.Inline,
3131
pauseWriterThreshold: 1024 * 1024,
3232
resumeWriterThreshold: 1024 * 512,
3333
minimumSegmentSize: 4096,
3434
useSynchronizationContext: false);
3535

3636
options.SendPipeOptions = new PipeOptions(
3737
pool: MemoryPool<byte>.Shared,
38-
readerScheduler: PipeScheduler.ThreadPool,
39-
writerScheduler: PipeScheduler.ThreadPool,
38+
readerScheduler: PipeScheduler.Inline,
39+
writerScheduler: PipeScheduler.Inline,
4040
pauseWriterThreshold: 64 * 1024,
4141
resumeWriterThreshold: 32 * 1024,
4242
minimumSegmentSize: 4096,

frameworks/CSharp/touchsocket/src/TouchSocketWebApi/TouchSocketWebApi.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
<ItemGroup>
1212
<PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.0" />
13-
<PackageReference Include="TouchSocket.Hosting" Version="4.0.8" />
14-
<PackageReference Include="TouchSocket.WebApi" Version="4.0.8" />
13+
<PackageReference Include="TouchSocket.Hosting" Version="4.1.1" />
14+
<PackageReference Include="TouchSocket.WebApi" Version="4.1.1" />
1515
</ItemGroup>
1616
</Project>

0 commit comments

Comments
 (0)