Size: a a a

2ch /pr/ #staythefuckhome

2020 April 21

Б

Буква in 2ch /pr/ #staythefuckhome
источник

S

Sooqa in 2ch /pr/ #staythefuckhome
Буква
Я знаю где ты живешь
Я тоже
источник

🐈П

🐈Борис Гринч Похитит... in 2ch /pr/ #staythefuckhome
Коля🤔🎭
using System;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using System.Threading.Tasks.Channels;

namespace ChannelsTest
{
   class Program
   {
       public static void Measure(string title, Action<int, bool> test, int count, int warmupCount = 1)
       {
           test(warmupCount, true); // Warmup
           var sw = new Stopwatch();
           GC.Collect();
           sw.Start();
           test(count, false);
           sw.Stop();
           Console.WriteLine($"{title}: {sw.Elapsed.TotalMilliseconds:0.000}ms");
       }

       static async void AddOne(WritableChannel<int> output, ReadableChannel<int> input)
       {
           await output.WriteAsync(1 + await input.ReadAsync());
       }

       static async Task<int> AddOne(Task<int> input)
       {
           var result = 1 + await input;
           await Task.Yield();
           return result;
       }

       static void Main(string[] args)
       {
           if (!int.TryParse(args.FirstOrDefault(), out var maxCount))
               maxCount = 1000000;
           Measure($"Sending {maxCount} messages (channels)", (count, isWarmup) => {
               var firstChannel = Channel.CreateUnbuffered<int>();
               var output = firstChannel;
               for (var i = 0; i < count; i++) {
                   var input = Channel.CreateUnbuffered<int>();
                   AddOne(output.Out, input.In);
                   output = input;
               }
               output.Out.WriteAsync(0);
               if (!isWarmup)
                   Console.WriteLine(firstChannel.In.ReadAsync().Result);
           }, maxCount);
           Measure($"Sending {maxCount} messages (Task<int>)", (count, isWarmup) => {
               var tcs = new TaskCompletionSource<int>();
               var firstTask = AddOne(tcs.Task);
               var output = firstTask;
               for (var i = 0; i < count; i++) {
                   var input = AddOne(output);
                   output = input;
               }
               tcs.SetResult(-1);
               if (!isWarmup)
                   Console.WriteLine(output.Result);
           }, maxCount);
       }
   }
}
нахуя ты руками делаешь GC.Collect() не выделяя Unmanaged объектов
источник

S

Sooqa in 2ch /pr/ #staythefuckhome
источник

🐈П

🐈Борис Гринч Похитит... in 2ch /pr/ #staythefuckhome
не понимаю
источник

Б

Буква in 2ch /pr/ #staythefuckhome
Sooqa
Я тоже
источник

К

Коля🤔🎭 in 2ch /pr/ #staythefuckhome
🐈Борис Гринч Похититель Рождества
нахуя ты руками делаешь GC.Collect() не выделяя Unmanaged объектов
нахуй ты меня это спрашиваешь, если код не мой, а взят с инета?
источник

🐈П

🐈Борис Гринч Похитит... in 2ch /pr/ #staythefuckhome
ну какбы
источник

🐈П

🐈Борис Гринч Похитит... in 2ch /pr/ #staythefuckhome
он дурацкий
источник

К

Коля🤔🎭 in 2ch /pr/ #staythefuckhome
C:\Projects\ChannelsTest>go run ChannelsTest.go
Started, sending 20000 messages.
20000
Sending 20000 messages took 75.0496ms
Started, sending 20000 messages.
20000
Sending 20000 messages took 18.0513ms

C:\Projects\ChannelsTest>dotnet run -c Release -f netcoreapp1.1
20000
Sending 20000 messages (channels): 49.297ms
20000
Sending 20000 messages (Task<int>): 28.702ms
источник

Б

Буква in 2ch /pr/ #staythefuckhome
unsafe {} ржомба
источник

УО

Упал Отжался... in 2ch /pr/ #staythefuckhome
источник

УО

Упал Отжался... in 2ch /pr/ #staythefuckhome
источник

К

Коля🤔🎭 in 2ch /pr/ #staythefuckhome
Буква
unsafe {} ржомба
а шо ржомба? чем отличается от тех же указателей в сяхах/плюсяхах?
источник

z

zeroid in 2ch /pr/ #staythefuckhome
Хз чето не найти бэнчи
источник

Б

Буква in 2ch /pr/ #staythefuckhome
Коля🤔🎭
а шо ржомба? чем отличается от тех же указателей в сяхах/плюсяхах?
да это просто разрешает указатели + арифметика
источник

Б

Буква in 2ch /pr/ #staythefuckhome
zeroid
Хз чето не найти бэнчи
зуб даю
источник

К

Коля🤔🎭 in 2ch /pr/ #staythefuckhome
zeroid
Хз чето не найти бэнчи
источник

S

Sooqa in 2ch /pr/ #staythefuckhome
Коля🤔🎭
а шо ржомба? чем отличается от тех же указателей в сяхах/плюсяхах?
Тем что в расте легально сделать взлом жопы
источник

S

Sooqa in 2ch /pr/ #staythefuckhome
источник