Re[47]: benchmark
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 14.01.17 15:07
Оценка:
Здравствуйте, alex_public, Вы писали:

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


_>>>Это не верный список. В нём нет части важных пунктов. И есть какие-то сомнительные (что такой нативная память?).

S>>http://rsdn.org/forum/dotnet/6660816.1
Автор: Sinix
Дата: 09.01.17

S>>https://github.com/dotnet/corefxlab/blob/master/docs/specs/span.md

_>А, типа память не под сборщиком мусора? ) Ну так это же и так давно всё было в наличие (просто unsafe).


_>>>В любом случае, даже уже в этом твоём списке видны неустранимые причины (типа того же сборщика мусора), которые никогда не позволят догнать. А если добавить ещё скажем рефлексию и ещё несколько пунктов, то сразу всё станет ясно.

S>> Опять же не читаешь.
S>>http://rsdn.org/forum/dotnet/6661629.1
Автор: Sinix
Дата: 10.01.17


_>Что не читаю? ) Раздел dotnet RSDN'а? Да, не читаю)))


А зря. Просто я уже по нескольку раз ссыоки апутался ет.
S>>Планируется
S>>

S>>Заметных с точки зрения GC проблем в принципе четыре:
S>> * куча аллокаций в gc0 для IEnumerable<>, string.Format() etc. — это как раз stackalloc сотоварищи.
S>> * долгоживущие объекты в огромных количествах — может быть решено через ArrayPool<T>, Memory<T>, explicit heaps etc.
S>> * pinned objects в GC0 и большие короткоживущие массивы — пулинг ч/з ArrayPool<T> обычно.
S>> * большие коллекции — chunked-коллекции поверх ArrayPool<T>


_>Ну ты же сам понимаешь, что это реально не решит проблему.


Это уменьшает нагрузку на GC. В том числе может сразу применять финализаторы исинга.

S>> Что касается .Net Native, то там по сути рефлексия ограничена и сведена к минимуму.


_>Кстати, а вот тут было бы интересно посмотреть поподробнее. А то я про это слышал, но конкретные технические подробности не изучал. Что значит сведена к минимуму?


https://msdn.microsoft.com/ru-ru/library/dn600640(v=vs.110).aspx

Среда выполнения .NET Native не включает JIT-компилятор. В результате все необходимые машинные коды должны быть созданы заранее. Используется набор эвристических правил, чтобы определить, какой код должен создаваться, но они не могут охватывать все возможные сценарии метапрограммирования. Таким образом, необходимо предоставить подсказки для этих сценариев метапрограммирования с помощью директив среды выполнения. Если необходимые метаданные или код реализации недоступны во время выполнения, приложение вызывает исключение MissingMetadataException, MissingRuntimeArtifactException или MissingInteropDataException. Существуют два средства устранения неполадок, создающие соответствующую запись для файла директив среды выполнения, который устраняет исключение.


S>> Посмотрим. Сам сейчас собираюсь плагин для хрома на С++ писать.

S>>Использование в TypeScript классов .Net
Автор: Serginio1
Дата: 12.01.17

S>> По этим мануалам https://chromium.googlesource.com/chromium/src/+/master/docs/windows_build_instructions.md#Visual-Studio
S>> Так, что от С++ не уйти.

_>Не очень понял что конкретно ты хочешь там сделать. Но ты уверен, что это ещё не сделано скажем в том же CEF?

Да под .Net Core вообще мало сделано. А использование манагед его 2 статьи кроме моих.

_>P.S. Сборка вебкита под виндой — это весьма увлекательный квест. ))) Я помнится его когда-то проходил (причём ещё хотел всё сделать именно в своём окружение) и впечатления до сих пор яркие. )))


Вот и мне плохо. При этом, что я С++ знаю постольку поскольку.
и солнце б утром не вставало, когда бы не было меня
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.