我正在编写一个服务器应用程序。它接受数千个传入的套接字连接,每个连接都发送和接收消息。
每次通过套接字接收或发送消息时,我都会分配新的byte[] 缓冲区,然后它们会被垃圾收集:
byte[] receivingBuffer = new byte[bufferSize];
为了提高性能,我想重用byte[] buffers。我应该使用ArrayPool还是MemoryPool?
或者我应该创建一个固定长度的 byte[] 缓冲区的ObjectPool吗?例如,如果我发送和接收的消息从不超过 100 KB,那么我创建一个100 KB byte[] 缓冲区的ObjectPool。每次我需要发送或接收消息时,我都会得到其中一个缓冲区。