Здравствуйте, Sinclair, Вы писали:
MA>> А Linq2d версия выполняет такие же аллокации или нет? S>Да, конечно.
Тогда, все остальные вопросы на мой взгляд отпадают.
Re[11]: Производительность .Net на вычислительных задачах
Здравствуйте, Sinclair, Вы писали:
MA>> Кешируются ли эти буфера или таки выделяются новые? S>Нет, ничего не кэшируется. Я подозреваю, что кэширование таких буферов ухудшит производительность. Сейчас их выделение — это просто бамп указателя кучи. А кэширование будет лазить по пулу, искать свободные, в конце возвращать в пул.
Вообще я с тобой полностью согласен, но не потому, что там будет лазить по пулу или возвращать, а потому, что наиболее эффективная стратегия выделения памяти (кеширования) будет зависеть от сценария использования.
И мне лично видится, что бенчмарк в этом плане весьма далёк от этого, а для вызовов с меньшей интенсивностью — мне кажется, что более оптимальной стратегией будет как можно быстрее освободить память. Хотя тут уже могут быть заморочки дотнета с LOH, но опять же — с ним могут быть заморочки у кого там, что-то лежит, а когда там всё своё, как в бенчмарке — то это пофигу.
В любом случае у каждого в голове какой-то свой паттерн использования, и на мой (личный) взгляд вот этот — самый простой способ — пока и есть самый универсальный и эффективный, ну по крайней мере если не закладываться на батч-обработку однотипных массивов.
PS: Как нибудь, в качестве альтернативных ключей компиляции, но не для C++, а на .NET5 предлагаю заюзать такое:
set COMPlus_ReadyToRun=0,COMPlus_TC_QuickJitForLoops=1,COMPlus_TieredPGO=1
. Как это подружить с benchmarksdotnet я не знаю.
Re[6]: Производительность .Net на вычислительных задачах
Здравствуйте, LaptevVV, Вы писали:
LVV>>>Не. CLI — это кошмар, который забыть и не использовать. T>>Ох, CLI прекрасен, это офигенное преимущество dotnet'а перед всеми остальными платформами. Нет и не может быть ничего лучше для взаимодействия между управляемой и неуправляемой платформой. Жаль, что только под винду LVV>Вот именно. LVV>Либо мы пишем на стандартном С++ под любую платформу. LVV>Либо мы САМИ прибиваем СЕБЯ гвоздями в кресту от Микрософт...
Тут вопрос в другом, а именно в инструментарии для интероперабилити менеджмент кода с анменеджмент (ансейфти).
Re[6]: Производительность .Net на вычислительных задачах
Здравствуйте, Sinclair, Вы писали:
S>Было бы ещё неплохо научиться его использовать в гитхабовом CI конвеере
Это я делать не пробовал.
S>а по сборке vcxproj ICC инструкция есть?
ICC встраивается в вижуалку и его параметры появляются в Project properties
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re: Производительность .Net на вычислительных задачах
Здравствуйте, a_g_99, Вы писали:
KP>>Вывод тут только один — оптимизатор в Linq2q классный и наивная реализация на C++ проигрывает __>вывод человек который делал графики не умел пользоваться С++
Ну это грубо, по моему мнению
Re[4]: Производительность .Net на вычислительных задачах
Здравствуйте, kaa.python, Вы писали:
__>>вывод человек который делал графики не умел пользоваться С++ KP>Ну это грубо, по моему мнению
Для КСВ это даже по-дружески
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[2]: Производительность .Net на вычислительных задачах
Здравствуйте, σ, Вы писали: σ>А с `-Ofast -march=native` можно увидеть C++?
Пока что я не понимаю, как заставить gcc подхватывать additional flags из vcxproj. σ>Или в фильтрах только целочисленная арифметика?
C4 — чисто целочисленная.
Sauvola — там смешаны в одном выражении byte, int, long, double.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Производительность .Net на вычислительных задачах
Здравствуйте, Sinclair, Вы писали:
σ>>А с `-Ofast -march=native` можно увидеть C++? S>Пока что я не понимаю, как заставить gcc подхватывать additional flags из vcxproj.
Выкинь это недоподелие, мимикрирующее под конфиг проекта, и пользуй cmake
Matrix has you...
Re[7]: Производительность .Net на вычислительных задачах
Здравствуйте, Serginio1, Вы писали:
LVV>>Либо мы пишем на стандартном С++ под любую платформу. LVV>>Либо мы САМИ прибиваем СЕБЯ гвоздями в кресту от Микрософт...
S> Тема то про .Net которая под любую платформу
А речь и не про платформу.
Matrix has you...
Re[8]: Производительность .Net на вычислительных задачах
Здравствуйте, Sheridan, Вы писали:
S>Здравствуйте, Serginio1, Вы писали:
LVV>>>Либо мы пишем на стандартном С++ под любую платформу. LVV>>>Либо мы САМИ прибиваем СЕБЯ гвоздями в кресту от Микрософт...
S>> Тема то про .Net которая под любую платформу S>А речь и не про платформу.
Вообще то про сравнение нативных и управляемых приложений под любую платформу.
Здесь еще можно добавить для сравнения .Net Native и CoreRT.
и солнце б утром не вставало, когда бы не было меня
Re[6]: Производительность .Net на вычислительных задачах
Здравствуйте, Serginio1, Вы писали:
S>Вообще то про сравнение нативных и управляемых приложений под любую платформу.
Да, но в этой ветке про прибивание себя гвоздями к единственному "производителю". Иными словами — когда микрософт решит похоронить дотнет — можно будет сделать мало чего, разве что попробовать core форкнуть.
Matrix has you...
Re[7]: Производительность .Net на вычислительных задачах
Здравствуйте, Sheridan, Вы писали:
S>Здравствуйте, Serginio1, Вы писали:
S>>Вообще то про сравнение нативных и управляемых приложений под любую платформу. S>Да, но в этой ветке про прибивание себя гвоздями к единственному "производителю". Иными словами — когда микрософт решит похоронить дотнет — можно будет сделать мало чего, разве что попробовать core форкнуть.
А с чего MS хоронить дотнет? Тем более, что он опенсорс. При этом к развитию как раз прибегают и сторонние разработчики.
Тот же Java то же принадлежит часть оракулу часть гуглу.
Что касается C++\CLI то это конечно уникальная вещь для совмещения управляемого и неуправляемого кода.
Только вот для Core его не перенесли (только для Windows Перенос проекта C ++ / CLI на .NET Core).
Больше проблема в этом!
и солнце б утром не вставало, когда бы не было меня
Re: Производительность .Net на вычислительных задачах
S>Мой доклад успешно прошёл. Запись я обещал не выкладывать до середины ноября, да и не особо там чего смотреть. S>Хочу поделиться самой зрелищной частью: сравнение производительности разных способов реализации вычислительно-интенсивного кода.
Самый главный вопрос: результаты работы фильтров сравнивались друг с другом попиксельно? Для фильтров с не только целочисленной арифметикой (для исключительно целочисленной разницы не должно быть).
Re[4]: Производительность .Net на вычислительных задачах
Здравствуйте, Sheridan, Вы писали: S>Выкинь это недоподелие, мимикрирующее под конфиг проекта, и пользуй cmake
А есть инструкция по использованию cmake с VS2019 на проектах C#/C++?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.