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 делает продукты вон какого уровня.

★★

Ответ на: комментарий от Forum0888

Net является продуктом Microsoft, а эти проекты всё же как-то на международные больше похожи.

Что мешает оккупировать GCC централизованной группой спонсоров аналогично нашествию systemd на популярные дистрибутивы?

Rust вероятно уже и изначально с самого своего рождения находится в таком состоянии?

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Ответ на: комментарий от sanyo1234

Пусть что хотят делают.
Есть Альт линукс.
Хороший дистрибутив, который годами подтверждает свою репутацию.

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 1)
Ответ на: комментарий от hobbit

Ну согласись, что сложный продукт на плюсах - это ад. И плевать, плюс скорость или минус.

Далее. Если я проведу здесь эксперимент (не, тут и так понятно, что 2% могут), то окажется, что на плюсах пишут в процедурном стиле.

Это касается отрасль вообще. HH макаки ищут по понтословам SOLID, Gof etc, да только код пишут обезьяны, даже не понимающие основ ЯП, продолжая создавать недоклассы, зарывая изначально сам ЯП. А потом и появляются Best practices и остальное дерьмище.

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

продолжая создавать недоклассы, зарывая изначально сам ЯП. А потом и появляются Best practices и остальное дерьмище.

Если программист не понимает «что такое хорошо и что такое плохо», то значит у него в «консерватории» что-то не то.

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

Великого специалиста видно издалека.

Никогда не называл себя великим специалистом.

ZFS on Illumos, говорят, обеспечивает неплохой uptime, но при этом, даже его можно усилить с помощью DRBD прослойки?

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

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 2)
Ответ на: комментарий от Forum0888

Если программист не понимает «что такое хорошо и что такое плохо», то значит у него в «консерватории» что-то не то.

Что ты лепишь?! Я проводил собесы, где типы по пять лет пишут код, да вот только говно. Какое чувство прекрасного может паказать в чём отличие от процедуроного, когда вас учили так изначально.

Ты понимаешь, что сейчас C# перенял очень много правильного из функциональщины? Что теперь это мега ЯП? Нет. У тебя нет знаний.

Почему в ООП ЯП появились expressions, pattern matching, pipeline?
Почему так меняется синтаксис? Почему?

Я тоже был таким пацанчиком, пока не начал принимать участие в объёмных проектах. Это тебе не в одно рыло утилитку писать. Или ты думаешь, что MS от хорошей жизни запилило TS? И что это дало и даёт? Ты хоть знаешь, сколько людей пилит VSCode? Сколько отделов есть на дополнения?

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

Брошу в Вашу копилочку пяточёк.

В gcc имеется goto <Выражение>, а у Microsoft этого нет.
За дураков нас держат.
Не исключаю, что такой пассаж сделан для того, чтобы другим было сложнее писать хороший код.

goto <Выражение> это же мои любимые таблицы решений, которые Microsoft у меня отобрала.

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 2)
Ответ на: комментарий от anonymous

Ты понимаешь, что сейчас C# перенял очень много правильного из функциональщины? Что теперь это мега ЯП? Нет. У тебя нет знаний.

Кто Вам это нашептал?
Одно время C# часто использовал и считаю технологию Net хорошей.
Не слушайте голоса, которые Вам нашепчивают всякую чушь.

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

Да-да. А потом SOLID вам как магию дают. Ага, знаем. https://habr.com/ru/articles/454290/ И всё равно многие это воспринимают ненужным усложнением, «и так работает». Только «работает - не трогай» не поможет, когда Шеф тебе говорит, что хочет совет директоров новый функционал. И чтобы его внедрить, надо тестами по уши обмазываться, а то всё из говна падает на каждый чих. Ну-ну.

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

Ты же бегаешь по форуму с плюсами и своим мнением, получай по шапке. Потому, что ты в проценте нубов. А своё мнение тычешь.

Если я тебя спрошу про построение класса - соснёшь. Вот и всё. А плюсы - это Си с классами. А ты представитель «знатоков». Пришел в новость о OOP Language, который уже мутант.

Даже так. Ты представитель обезьян, которые уже история ;)

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

C# перенял очень много правильного из функциональщины?

звучит как заявка на победу! а что такого особо правильного в функциональщине, если этой функциональщины вокруг пруд пруди, и и никому особо она не нужна, если быть искренним. туда ходят чисто по хайпу.

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

Ты приводил пример Kafka кластера в качестве положительного или отрицательного примера? Kafka ведь на Java написана, в которой GC аналогично .NET

There are several alternatives to Apache Kafka that aim to provide better fault tolerance and avoid performance degradation when a single node crashes. Some of these alternatives include:

    Apache Pulsar: Pulsar is an open-source distributed messaging and streaming platform originally developed by Yahoo and later donated to the Apache Software Foundation. Pulsar is designed to provide better fault tolerance and higher performance than Kafka, especially in multi-cluster and multi-region deployments. It uses a shared-nothing architecture and automatically re-replicates data when a node fails, minimizing the impact on performance.
    RabbitMQ: RabbitMQ is a popular open-source message broker that supports various messaging protocols, including AMQP. RabbitMQ provides features like mirrored queues and clustering, which can help mitigate the impact of node failures. However, it is generally considered more suitable for scenarios with lower throughput requirements compared to Kafka.
    Amazon Kinesis Data Streams: Kinesis Data Streams is a fully managed service from Amazon Web Services (AWS) for real-time data streaming. It is designed to provide automatic replication and fault tolerance, ensuring that data is durably stored and can be read even if multiple instances or nodes fail.
    Google Cloud Dataflow: Dataflow is a fully managed service from Google Cloud Platform for batch and streaming data processing. It provides automatic resource management, fault tolerance, and scalability, making it resilient to node failures without impacting performance.
    Confluent Platform: Confluent Platform is a commercial distribution of Apache Kafka that provides additional features and tools for better management, monitoring, and fault tolerance. It includes capabilities like multi-cluster replication, automatic data rebalancing, and self-healing storage, which can help mitigate the impact of node failures.
    Apache Pravega: Pravega is an open-source distributed storage service designed for streaming workloads. It uses a multi-writer/multi-reader model and provides features like automatic load balancing, failover, and data replication, making it more resilient to node failures than Kafka.

Если разработчики Kafka не умеют в кластеризацию, то значит весь HA такой? Или это твой очередной троллинг?

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Как будто от единственной и неповторимой кормушки отлучают.

Ведь есть и масса других более современных кормушек, но там надо работать, а не заниматься ИМБУРде, потому что Agile, ежедневные коммиты со сборками и иногда даже релизы.

Короче окаянные Девопсы не дают спокойной жизни плюсовым старичкам.

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

Не «накручивайте» себя.
Вы не знаете ничего о том почему и как часто другие используют C++.
У Вас представление, что все дураки ничего не понимают, фанаты, ...
Эт мания какая-то.

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 1)
Ответ на: комментарий от sanyo1234

Так я про вас и говорил. Ну пишет кто-то на плюсах и пишет, чего бухтеть? Вас ИТТ никто не заставляет на них писать и никто не доказывает, что плюсы нужны, а все остальное нинужна. Претензии только к вашим шоколадным аргументам, потому что набрасываете и доказываете, что что-то НИНУЖНА именно вы.

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

Теперь понял, что часовню за городом всё же я развалил.
Давайте эшо разоблачений.
Буду исправляться.

Дружище, просьба перестать флудить и злобствовать.
Форум это не сыскное бюро в котором ищут виновных.
Хоть что нибудь по делу говорите кроме «обличений».

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 1)
Ответ на: комментарий от Forum0888

Форум это не сыскное бюро в котором ищут виновных.

Зато неплохое место для написания постмортемов (в смысле немного похожих на SRE постмортемы) на различные темы.

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 2)
Ответ на: комментарий от sanyo1234

Каждый из нас что-то разрабатывает и считает, что это хорошо.
Что касаемо других форумчан, то наша основная задача их ВРАЗУМИТЬ!

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Ага, а у Вас толстая и длинная.
Все с нетерпением ждём от Вас «откровений» и «поучений».

Теперь понятно в чём Вы сильны.
Чего раньше скромничали и никому не говорили?

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

Если разработчики Kafka не умеют в кластеризацию, то значит весь HA такой?

Оно всё так работает. Просто ты этого не понимаешь, потому что уровень опыта не позволяет. Баззвордов нахватался и побежал срать на форумах…

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

Я так и думал, что начнется вихляние кормой и прочие уловки. Все очень просто – если язык говно и библиотеки с его использованием говно, то язык нужно выкинуть а библиотеки переписать. Если же и язык и библиотеки и дальше используются, то хейтеры, не осилившие написать альтернативы с блэкджеком и шлюхами, стройными рядами идут в жопу.

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

ИМХО основная проблема в том, что всё разрабатываемое «лебедь, рак и щука».
И по существу непрерывно изобретают велоcипеды.
По существу ведь многим алгоритма что нужно: управление памятью, работа с объектами, строками, ...
Конечно область алгоритмов весьма большая.
Для графики одни, для мультимедия другие, ...
Но по существу все они опираются на нижележащий API - работа с памятью, ...
В графике почему к примеру не разработать API для работы с цветом, которое смогут использовать все проекты?
Но этого в реальности нет.
Каждый что-то велосипедит.

Что касаемо моей разработки, то разрабатываю API для работы с объектами на основании метаданных.

В чём профит?

Не нужно изобретать велосипеды в любом ином API.
Вот вам на тарелочке возможность создания и использования объектов любой сложности в run-time.
При этом API можно использовать в любом ЯП.

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 2)
Ответ на: комментарий от pekmop1024

Оно всё так работает.

По твоему нет более оптимального для кластеризации софта и менее оптимального?

Просто ты этого не понимаешь, потому что уровень опыта не позволяет.

У тебя тоже нарцисизм? Кичишься своим опытом вместо того, чтобы помочь.

Баззвордов нахватался и побежал срать на форумах…

Только ты обычно и срёшь в ответ на мои сообщения, редко кто ещё такой батхерт испытывает как ты.

IMHO ты похож на малость поехавшего.

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

просто жэ порвется, все это переписывать с неясным результатом.

на плюсах есть любые либы, и любые тулы. на «правильных языках» - по чайной ложке проприетарно-полупроприетарных поделий с неясными лицензиями, поддержкой и перспективами.

недостаток шарпа(как и явы) в том, что они есть. это экосистемы, насмерть привязывающие к себе разработку.

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

если у вас редактор текстов на условном шарпе, редактор картинок на условной яве, а мейл-клиент еще на чем, то ваша машина представляет собой лежбище экосистемных мамонтов, посреди которых ползает тот код, что вам необходим.

то есть либо надо все приводить к одной стандартизованной экосистеме, либо саму идею экосистем гнать в шею.

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

Пока нет, так как реализовано лишь процентов пять от планируемого.
Рано публиковать, хотя многое сделано и протестировано.
Да и помощи в развитии проекта всё равно никакой не будет.

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Я так и думал, что начнется вихляние кормой и прочие уловки. Все очень просто – если язык говно и библиотеки с его использованием говно,

Так ведь нет такого, чтобы чёрное и белое.

Каждому инструменту своё применение. Для плюсов постепенно уменьшается количество задач, где нужен такой навороченный ООП ассемблер.

то язык нужно выкинуть а библиотеки переписать.

Никто не выкидывает сразу то, во что вложены затраты, особенно большие. Сначала постепенно неспеша заменяют на более подходящее. Даже на Cobol и Fortran ещё иногда что-то кодят, а чтобы их прямо массово заменять, так и вовсе нет такого IMHO.

Если же и язык и библиотеки и дальше используются, то хейтеры, не осилившие

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

написать альтернативы с блэкджеком и шлюхами,

Rust для системщины уже готов. Шарп и многие другие для прикладнухи. Чего ещё не хватает?

стройными рядами идут в жопу.

Плюсовики да, постепенно к тому и идёт …

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

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

на плюсах есть любые либы, и любые тулы. на «правильных языках» - по чайной ложке проприетарно-полупроприетарных поделий с неясными лицензиями, поддержкой и перспективами.

А в других ЯП эти либы разве не задействовать хотя бы через биндинги?

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

если у вас редактор текстов на условном шарпе, редактор картинок на условной яве, а мейл-клиент еще на чем, то ваша машина представляет собой лежбище экосистемных мамонтов, посреди которых ползает тот код, что вам необходим.

Native full AOT ?

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

Плюсовики да, постепенно к тому и идёт …

плюсовик свободно переместим в шарп и жабу. это практически подмножество плюсов с некоторым сахаром и сборкой мусора.

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

плюсовик свободно переместим в шарп и жабу. это практически подмножество плюсов с некоторым сахаром и сборкой мусора.

А ну вот, вы тоже похоже согласились, что писать на сишном асме в 2024 - это не есть хорошо. Я кстати к JVM не испытываю какой-то особой неприязни. Синтаксис Java мне не очень нравится, но терпимый, Scala получше, поинтереснее.

sanyo1234
()