LINUX.ORG.RU

Garnet - кэш от Microsoft, написан на C#, делает и Redis, и Dragonfly

 , , garnet, ,


0

5

Как видно из бенчмарков, это сейчас вообще самый быстрый сервер структур данных на всём диком западе:

https://microsoft.github.io/garnet/docs/benchmarking/results-resp-bench

Парктически полностью совместим с Redis на уровне API, но при этом:

  • Имеет либеральную MIT лицензию, как и все последние крупные проекты MS, и этим крайне выгодно отличается от Redis
  • Написан на C#, и позволяет удобно расширять сервер
  • Делает по производительности и Redis, написанный на Си, и Dragonfly написанный на C++

Последний пункт особенно забавен, надеюсь хоть это у крестолюбцев в голове что-либо прочистит, и вот это дебильное мнение что «сипласплас эта быстра», а также глупые наезды на GC, наконец канут в лету. Кресты в современном мире нахер не нужны, и никакой даже особой производительности не дают. Да и Си, в принципе, тоже нигде не нужен выше уровня ядра.

Я кстати, в свое время написал на C# видеостриминг-сервер, и клиент, практически не используя кресты(было немного C++/CLI для связи с COM итд), и проблем с производительностью там не было. Но что я - вон целый MS Research делает продукты вон какого уровня.

★★

Последний пункт особенно забавен, надеюсь хоть это у крестолюбцев в голове что-либо прочистит, и вот это дебильное мнение что «сипласплас эта быстра», а также глупые наезды на GC, наконец канут в лету. Кресты в современном мире нахер не нужны, и никакой даже особой производительности не дают. Да и Си, в принципе, тоже нигде не нужен выше уровня ядра.

redis не cpu-bound, его и на питоне можно было быстрее написать, учитывая что под c++ нет нормальных асинхронных фреймворков (кроме того что в nginx, хотя и он уже устарел, на C и неотчуждаем).

А наезды на GC вполне обоснованы, это ублюдочная концепция, и в случаях когда она не даёт катастрофической просадки по производительности (а заметную она даёт всегда), она даёт катастрофический оверюз памяти. Сейчас про «память стоит копейки» уже не повякаешь, во-первых, потому что она не стоит копейки, во-вторых, потому что не запускают уже сервер с 128G под базёнку с 1 пользователем, а запускают там 1000 контейнеров с такими базёнками, с жёсткими ограничениями по памяти, в которые никакие GC никогда не уложатся.

Ну и C# в опенсорс мире вне винды никому не сдался.

Впрочем, есть и форк обычного редиса, и всё это вместе надеюсь оригинальный редис сменивший лицензию похронит, и поделом.

anonymous
()
Ответ на: комментарий от anonymous

его и на питоне можно было быстрее написать, учитывая что под c++ нет нормальных асинхронных фреймворков

Под C# тоже не оказалось, пришлось делать вставки на С++.

MOPKOBKA ★★★★
()
Ответ на: комментарий от anonymous

redis не cpu-bound, его и на питоне можно было быстрее написать

Давай, перепиши. Умник. Там основная работа это структурки данных внутренние, которые как раз заоптимизированы по самое не балуй.

А наезды на GC вполне обоснованы, это ублюдочная концепция,

Нет, это ты просто необразованный.

Ну и C# в опенсорс мире вне винды никому не сдался.

Ты зашоренный просто. В хвост и гриву он используется в опенсорсе.

lovesan ★★
() автор топика
Ответ на: комментарий от sanyo1234

В Golang кстати GC абсолютно кривой и наколеночный. Как и всё в Golang. Там до сих пор, вроде, примитивный Mark-n-Sweep, не двигающий объекты. Прямо как из студенческой лабы. Это сравнивать с JVM, .NET или лиспами - смешно просто.

lovesan ★★
() автор топика
Ответ на: комментарий от lovesan

Да, кстати. Не перестаю удивляться что почти в каждом лиспе годный GC, хотя разработчиков от одного (ECL) до дюжины. А для Го всем гуглом неосилили нормальный GC сделать.

Gentooshnik ★★★★★
()
Ответ на: комментарий от alysnix

ты ж не написал, что стал другим человеком, осознал и больше такого не повторится.

Да мне уже и спрашивать то почти нечего по раздражавшим вас тематикам. Я раньше интересовался обзорными вопросами по выбору софта, это посчитали троллингом или сделали вид. А сейчас я уже сформировал большую часть списка интересовавшего меня софта (он перечислен в моём профиле) кроме пока ещё софта для организации работы Кубер кластера.

По Куберу там упомянут только k0s и talos, но и их, думаю, мне будет достаточно первое время.

sanyo1234
()