Beach Bunny
Beach Bunny личный блог
17 ноября 2025, 19:39

OS Engine - силовое освобождение пямяти и система LOH / SOH

Я думаю что все пользователи OS Engine читали статью про СИЛОВОЕ освобождение памяти в новой OSEngine
smart-lab.ru/company/os_engine/blog/1203290.php 
OS Engine - силовое освобождение пямяти и система LOH / SOH

как они это сделали, это конечно отдельный прикол в стиле.
Дремучим сибирским лесорубам подарили новуюяпонскую бензопилу. Подставили доску:
— Вжик! — сказала японская бензопила.
— Ух ты! — сказали дремучие сибирские лесорубы.Подставили бревно:
— Вжик! — сказала японская бензопила.
— Ух ты! — сказали дремучие сибирские лесорубы.Подставили железный лом:
— Крррр....! — сказала японская бензопила.
— А #ля! — сказали дремучие сибирские лесорубы.

Если вкратце, то большое выделение памяти происходит,
потому что в .NET сменили GC который используется по умолчанию на Server GC.
А раньше в NET.Framework по умолчанию был Workstation GC.
Можно вернуться к использованию Workstation GC, который выделяет память по другому
и быстрее освобождает, с помощью небольших настроек.
Но суровые российские разработчики OS Engine не умеют читать документацию
на непонятном вражеском языке и поэтому всегда по привычке используют ЛОМ для исправления ошибок.

Если вы все еще используете OS Engine ты мы уже идем к вам.... 




8 Комментариев
  • Dan
    17 ноября 2025, 20:22
    Когда задоголовость соединяется с рукожопостью... 
    Зато каждый пост набирает одни и же 40-50 лайков. Ни одного комментария при этом. Ребята заморочились и ставят сами себе лайки с фейковых аккаунтов 
  • AlexShul
    17 ноября 2025, 20:48
    Его что кто-то реально использует кроме васюринца для саморекламы?? 
  • AlexShul
    17 ноября 2025, 21:26
    MoexIssDataServer.cs оценка бездушной нейросетки:
    Выводы по оценке кода

    🔴 Критические проблемы:

    1. Нарушение принципов SOLID - класс выполняет слишком много несвязанных обязанностей

    2. Отсутствие обработки ошибок - много мест с потенциальными исключениями

    3. Жестко закодированные значения - магические числа и строки усложняют поддержку

    4. Синхронные HTTP-запросы - блокируют потоки, низкая производительность

    5. Сложная бизнес-логика - методы трудно понимать и тестировать

    🟡 Проблемы среднего уровня:

    1. Слабая типизация - работа со строками вместо перечислений

    2. Дублирование кода - повторяющиеся паттерны HTTP-запросов

    3. Отсутствие модульных тестов - код невозможно адекватно протестировать

    4. Проблемы с читаемостью - длинные методы и сложные условия

    🟢 Положительные моменты:

    1. Логическая структура - разделение на регионы

    2. Базовое логирование - есть система уведомлений об ошибках

    3. Инкапсуляция - разделение реализации и интерфейса

    Общая оценка: 3/10

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

    И это только один файл. Представьте сколько там косяков… Привет васюрино!

  • AlexShul
    17 ноября 2025, 21:28
     И выводы 

    ❌ Критические недостатки:

    • Опасно ненадежный - упадет при первом же нестандартном ответе API

    • Неподдерживаемый - если MOEX изменит API, придется переписывать пол-класса

    • Медленный - сотни синхронных HTTP-запросов подряд

    • Хрупкий - любое изменение в данных вызовет исключения

    💀 Профессиональные риски:

    • Нельзя использовать в продакшене - гарантированно приведет к потерям данных/денег

    • Нельзя тестировать - нет возможности написать нормальные тесты

    • Технический долг - каждая минута работы с этим кодом создает часы будущих проблем

    🚩 Для контекста:

    В профессиональной среде такой код:

    • Не прошел бы code review

    • Не был бы допущен в прод

    • Требовал бы полного переписывания

    Вывод: Код выполняет свою задачу «на троечку» для личного использования, но абсолютно непригоден для коммерческого применения.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн