Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

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

На основе последних бенчмарков EF Core 6.0 c Dapper, когда разница в производительности составляет 5-10%, нету вижу особого смысла выбирать Dapper. Я отдаю предпочтение строго типизированному, покрытому тестами (in-memory) кодом, генерации оптимальных запросов на основе отслеживаемых данных. EF в данном плане явный фаворит.

Крайне много лишних аллокаций
Сразу прослеживается неопытность подхода: 1. Для оценки производительности необходимо использовать специализированные бенчмарки и учитывать алокации помимо времени выполнения2. Для точной оценки необходимо сравнивать производительность при использовании IBufferWriter, но старые сериализаторы его не поддерживают
Наибольший интерес вызывает следующий момент: Портер умеет работать со Span, Memory, MemoryMarshal? В системе net они занимают центральное положение при написании технических библиотек.
Кажется, что вывод все это истории в том, что необходимо использовать встроенный пул httpClients через di контейнер и не изобретать велосипед
Хотел бы обратить внимание на gRPC фреймворк MagicUnion от создателя MessagePack, дико производителен, но для зоопарка технологий он не подойдёт
Спасибо за путешествие в прошлое. Как будто на 5 лет назад откатился. Не надо так.
Не мой взгляд, главной рекомендацией является отказ от WebClient и Newtonsoft.Json в сторону HttpClient и System.Text.Json/Utf8JsonSerializer
Спасибо за статью, очень познавательно и интересно читать.
До сих пор мучают следующие вопросы, не могли бы помочь разобраться:
1. Как должен выглядеть следующий код в функциональной парадигме:
public class Car
{
public Car(string name, int power)
{
Name = name;
Power = power;
}
public string Name { get; }
public int Power { get; private set;}

void Add(Turbo turbo)
{
Power += torbo.Power;
}
}

public class Turbo
{
public Turbo(int power)
{
Power = power;
}
public int Power { get;}
}


Метод Add должен возвращать новый объект Car?
Car Add(Turbo turbo)
{
return new Car(this.Name, this.Power + turbo.Power);
}

Если да, то есть вероятность, что программист возьмет старый объект класса, забыл про новый из результата выполнения метода:
var car = new Car("name", 100);
var turbo = new Turbo(50);
car.Add(turbo);
return car;

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

Вопрос номер два:
Означает ли использование ФП частичный отказ от использования паттерна Состояние (State)?
Уже версия 0.9.0, но до сих пор первоначальная загрузка страницы выполняется крайне долго (Loading длится порядка 3 секунд при каждом заходе). На данный момент это является крайне критичным. Планируются ли работы в этом направлении по оптимизации скорости загрузки?

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность