Решил снова поиграться с SSE/AVX на примере FFT преобразования с помощью алгоритма Cooley-Tukey. В отличие от классического FFT он рекурсивный и работает за O(N*logN). Но опять же отличие от классического - на каждую рекурсию приходится выделять память под чётные/нечетные элементы. Это может быть не очень хорошо, но позволяет удобно оптимизировать расчёты.
Изначальный вариант работает с комплексными числами, которые определены как класс
Оптимизированный вариант использует Vector128 в 0-м элементе которого храница реальная часть, в 1-м - мнимая, и это позволяет чпокать числа побыстрее.
Результат: выигрыш х6.5 к перфу и х3.4 к аллокациям. #simd #dotnet #sse
Изначальный вариант работает с комплексными числами, которые определены как класс
ComplexNumber
с Real/Imag свойствами.Оптимизированный вариант использует Vector128 в 0-м элементе которого храница реальная часть, в 1-м - мнимая, и это позволяет чпокать числа побыстрее.
Результат: выигрыш х6.5 к перфу и х3.4 к аллокациям. #simd #dotnet #sse
Как использовать Keycloak вместе с ASP.NET Core Authentication
включая авторизацию с помощью ролей.
С недавних мне очень нравится Keycloak, подумываю его начать использовать в вебпроектах везде, где требуется аутентификации и авторизация
#dotnet
включая авторизацию с помощью ролей.
С недавних мне очень нравится Keycloak, подумываю его начать использовать в вебпроектах везде, где требуется аутентификации и авторизация
#dotnet
nikiforovall.github.io
Use Keycloak as Identity Provider in ASP.NET Core 6
👍3
Недавно на собесе меня озадачили вопросом про GC regions, на который я не смог внятно ответить. Посему решил почитать поподробнее про них оригинальные статьи Maoni Stephens
🔸How segments and regions differ in decommitting memory in the .NET 7 GC
🔸Put a DPAD (Dynamic Promotion And Demotion) on that GC
🔸.NET Memory Performance Analysis (здоровенная статья, но с картинками 😁 в середине которой тоже есть про Physical representation of the GC heap)
upd как оказалось то, что я не ответил на вопрос не было критичным
#dotnet
🔸How segments and regions differ in decommitting memory in the .NET 7 GC
🔸Put a DPAD (Dynamic Promotion And Demotion) on that GC
🔸.NET Memory Performance Analysis (здоровенная статья, но с картинками 😁 в середине которой тоже есть про Physical representation of the GC heap)
upd как оказалось то, что я не ответил на вопрос не было критичным
#dotnet
🔥4👍2
Интересное чтиво нашлось про Signal Structure of the Starlink Ku-Band Downlink. 14 страниц с разными терминами OFDMA, 16QAM и другими техническими подробностями.
Интересный способ в .net 8 обойтись без классической рефлексии и получить ref на backing field (+стопицот перфа на работе с этим полем). Не понял правда насколько это будет хорошо работать с AOT.
И ещё одна статья с примерами на эту же тему
#dotnet
И ещё одна статья с примерами на эту же тему
#dotnet
Steven-Giesel
A new way of doing reflection with .NET 8
.NET 8 introduced a new way of doing reflection. Why did they introduce this, and what are some benefits - this blog post will give you some insights.
👍3
Сложно понимать, что интересно для вас, уважаемые подписчики. Вы как-то сигнальте емоджями или как-то ещё, чтобы искал нужные (интересные) соответствующие темы 😁
Всмысле сигнальте на тех постах которые вам интересны, чтобы я отслеживал темы
Всмысле сигнальте на тех постах которые вам интересны, чтобы я отслеживал темы
👍7🥰6🔥2
Google Cloud Developer Cheat sheet - каждый тайл ведёт на соответствующую документацию #docs
Google Cloud
Products and Services | Google Cloud
See products from Google Cloud, Google Maps Platform, and more to help developers and enterprises transform their business.
Очень простая статья Building Scalable ASP.NET Core Apps with RabbitMQ Message Queues - для тех, кто вот только щас решил прикрутить Rabbit для коммуникации между сервисами - самое то. В дополнение к больше теоретическому посту.
#dotnet #tutorial
#dotnet #tutorial
Medium
Building Scalable ASP.NET Core Apps with RabbitMQ Message Queues
Building web applications that can manage rising loads and changing user expectations is not just a goal, it’s a need in today’s digital…
👍4
😁7
Если кто-то хочет поковырять кишочки хранения данных (int/long/float/double/decimal) и операции с ними (округления, отсечения, аримфетика ...)
Exploring Binary | Binary Numbers, Binary Code, and Binary Logic
Topics - Exploring Binary
👍1
Если кто-то страдает от отсутствия идей для пет-проектов и/или возможных тестовых заданий для кандидатов то вот примерно 270 таких идей на гитхабе с указанием сложности 0...10
upd с сортировкой и поиском тот же список
upd с сортировкой и поиском тот же список
🔥3❤2
NetFabric.Numerics - пакет, который чем-то напоминает NetTopologySuite, но как более быстрый аналог с использованием Generic Math #dotnet
Два вопроса для потенциального собеса про async/await:
1. Почему id потока до await и после может отличаться (это не про скриншот, а вообще) (ну это все знают, кто залезал в кишки async/await с помощью того же sharplab )? Когда будет отличаться, а когда нет?
2. Почему на скриншоте id потока всегда будет один и тот же, независимо ни от чего (ну... почти вытекает из ответа на первый вопрос )?
#question
1. Почему id потока до await и после может отличаться (это не про скриншот, а вообще) (
2. Почему на скриншоте id потока всегда будет один и тот же, независимо ни от чего (
#question
👍3🔥3
Случайно на глаза попалась опенсурс DuckDB - SQL OLAP database management system - с первого взглядя выглядит неплохо, учитывая бенчмарки (даже быстрее Clickhouse, хм), биндинги к куче платформ, включая .net. Если будет время - подумаю, чтобы написать LINQ-провайдера к нему.
Умеет как in-memory так и persisted на диск. Немного портит конечно же как обычно наличие разного нестандартного (касательно SQL) - типы данных или конструкция типа
Умеет как in-memory так и persisted на диск. Немного портит конечно же как обычно наличие разного нестандартного (касательно SQL) - типы данных или конструкция типа
select * exclude (field1) from table
(чтобы выбрать всё, кроме поля field1. Ну и версия 0.9.1 также намекает, что в прод ей пока рановато.DuckDB
An in-process SQL OLAP database management system
DuckDB is an in-process SQL OLAP database management system. Simple, feature-rich, fast & open source.
https://www.ferretdb.com - интересная штука, которая эмулирует протокол MongoDB и хранит данные в Postgres или SQLite. Наверное подходит, если решил съехать с MongoDB, но не прямо сразу а постепенно. #database
👍2