Guest User

Untitled

a guest
Aug 19th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.29 KB | None | 0 0
  1. public class BufferTest
  2.     {
  3.         private readonly CSPacket Packet;
  4.         private readonly CSPacketQueue _CSQueue;
  5.         private readonly RingBuffer<CSPacket> _Ringbuffer;
  6.         private readonly ConcurrentQueue<CSPacket> _CCQueue;
  7.  
  8.         public BufferTest()
  9.         {
  10.             Packet = new CSPacket(new byte[500]);
  11.             _CSQueue = new CSPacketQueue();
  12.             _Ringbuffer = new RingBuffer<CSPacket>(100);
  13.             _CCQueue = new ConcurrentQueue<CSPacket>();
  14.         }
  15.  
  16.         [Benchmark]
  17.         public void LockQueue()
  18.         {
  19.             for (int i = 0; i < 1; i++)
  20.             {
  21.                 CSPacket res;
  22.                 _CSQueue.Enqueue(Packet);
  23.                 _CSQueue.TryDequeue(out res);
  24.             }
  25.         }
  26.         [Benchmark]
  27.         public void RingBuffer()
  28.         {
  29.             for (int i = 0; i < 1; i++)
  30.             {
  31.                 CSPacket res;
  32.                 _Ringbuffer.Enqueue(Packet);
  33.                 _Ringbuffer.TryDequeue(out res);
  34.             }
  35.         }
  36.  
  37.         [Benchmark]
  38.         public void CCQueue()
  39.         {
  40.             for (int i = 0; i < 1; i++)
  41.             {
  42.                 CSPacket res;
  43.                 _CCQueue.Enqueue(Packet);
  44.                 _CCQueue.TryDequeue(out res);
  45.             }
  46.         }
Advertisement
Add Comment
Please, Sign In to add comment