Re[51]: dotnet vs java 2016-2020
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 15.10.16 16:16
Оценка:
Здравствуйте, ·, Вы писали:

·>Здравствуйте, Serginio1, Вы писали:


S>>>> Хотя лично считаю, что для этого лучше всего подойдет C++ с хорошим менеджером памяти.

S>>·>Т.е. .net не подходит. Что и требовалось доказать. Считаю вопрос закрытым.
S>> Мне интересно не .Net, а как с этим справляется твоя хваленая Java
·>Хорошо справляется с помощью zing. Azul обещает задержки <10ms. Ты считаешь, что они лгут?
Я хочу увидеть этот тест на zing.
S>> особенно в сравнении с кодом на C++
·>Тебе интересно, ты и сравнивай. Создавай новый топик, ищи оппонетнов и там рассуждай. Тут мы обсуждаем "dotnet vs java".

Ну дык ты же говоришь, что Java лучше всех. А хочется сравнить.
S>>На этом самом алгоритме. При этом я могу сделать класс на C++
·>И накой когда сдался .net? Шоб було?

Я могу использовать манакед GC и нативный менеджер памяти. Это расширяет возможности.
S>> и из .Net дергать его методы.
·>Круто, конечно. И что конкретно ты будешь измерять? Цель тех тестов — измерить характеристики GC, его применимость для LL-систем.
·>Методы явы тоже можно из С++ дёргать. И что?

Задача сделать приложение с минимальными задержками, при этом потратить минимум усилий и денег.

S>>При этом у меня будут потери только на копировании, но в задержек не будет. Так, что .Net подходит.

·>Ровно до того момента как сработает GC.
А там собирать то нечего. Проблема то в генерации огромного количества объектов и обновлении кэша размером 200 кб.
На обычных задачах GC справляется.
S>>https://msdn.microsoft.com/en-us/library/ms235281.aspx
S>>А считать то голословно ты можешь, что угодно.
·>Голословен пока только ты. И всё от сабжа постоянно уходишь в сторону нейтива.
Я ухожу в сторону оптимального использования натива в манагед и наоборот.
А вот так и не привел пример на Java. Всем интересно посмотреть. Не только мне.
А я могу написать код с копированием.
Это по сути аналог использования классов на C++.

 var Кэш=new byte[2000][];

 while (true)
  {
    var text = new string((char)random.Next(start, end + 1), 1000);
    stringCache.Set(text.GetHashCode(), text);

    // Use 80K, If we are > 85,000 bytes = LOH and we don't want these there
    var bytes = new byte[80 * 1024]; 
    random.NextBytes(bytes);
    var i=bytes.GetHashCode() % размерКэша;

    var массив=Кэш[i];
      if (массив==null)
         Кэш[i]=массив;
      else
      bytes.CopyTo(массив,0);

     threadCounter++;
    Thread.Sleep(1); // So we don't thrash the CPU!!!!
  }
});
и солнце б утром не вставало, когда бы не было меня
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.