Форум программистов, компьютерный форум, киберфорум
Highload
Войти
Регистрация
Восстановить пароль
Старый
CPU-bound и I/O-bound асинхронные и синхронные операции на C#
Запись от UnmanagedCoder размещена 19.10.2025 в 20:20 / C# .Net and all about
Показов 5194 Комментарии 0

Нажмите на изображение для увеличения
Название: CPU-bound и IO-bound асинхронные и синхронные операции на C#.jpg
Просмотров: 261
Размер:	75.0 Кб
ID:	11319

Суть различий между CPU-bound и I/O-bound операциями



Что происходит внутри процессора при разных типах нагрузки



Возьмем простой пример - вычисление SHA256 хеша от большого файла. Процессор реально потеет: каждый байт прогоняется через серию битовых операций, сдвигов, XOR. Регистры заполнены данными,...
Аватар для UnmanagedCoder
Старый
NGINX vs Apache - что выбрать?
Запись от Jason-Webb размещена 30.09.2025 в 21:13 / Webmastering PHP
Показов 2528 Комментарии 0

Нажмите на изображение для увеличения
Название: NGINX vs Apache.jpg
Просмотров: 185
Размер:	112.0 Кб
ID:	11242
Когда я впервые столкнулся с выбором между NGINX и Apache, у меня был только один критерий — "что быстрее?". Наивный подход, который привел к череде болезненных миграций и ночных релизов. Сегодня я точно знаю: понимание архитектурных различий между этими веб-серверами — ключевой фактор,...
Аватар для Jason-Webb
Старый
Рейтинг: 5.00. Голосов: 1.
C++26 и SIMD: Data-Parallel Types
Запись от bytestream размещена 29.09.2025 в 19:57
Показов 3536 Комментарии 0

Нажмите на изображение для увеличения
Название: C++26 и SIMD Data-Parallel Types.jpg
Просмотров: 219
Размер:	153.0 Кб
ID:	11237
SIMD (Single Instruction, Multiple Data) – это архитектурный подход, позволяющий одной инструкцией процессора обрабатывать сразу несколько элементов данных параллельно. Представьте, что вместо того, чтобы складывать числа по одному, вы можете взять сразу 4, 8 или даже 16 пар чисел...
Аватар для bytestream
Старый
Go 1.25 - возможности с примерами
Запись от golander размещена 26.09.2025 в 19:56 / go go just go
Показов 3608 Комментарии 0

Нажмите на изображение для увеличения
Название: Go 1.25 - возможности с примерами.jpg
Просмотров: 245
Размер:	108.1 Кб
ID:	11218
Последние несколько лет я постоянно сталкивался с одной и той же проблемой — как выжать максимум производительности из Go без жертвы читабельностью кода. С выходом Go 1.25 эта дилемма, кажется, начинает решаться на уровне самого языка.

Profile-Guided Optimization: из экспериментальной фичи в надежный инструмент



Наконец-то PGO (Profile-Guided Optimization) стабилизирована! Это больше не экспериментальная...
Аватар для golander
Старый
Real-time коммуникация клиент-сервер с SignalR и C#
Запись от stackOverflow размещена 20.07.2025 в 12:33
Показов 3144 Комментарии 0

Нажмите на изображение для увеличения
Название: Real-time коммуникация клиент-сервер с SignalR и C#.jpg
Просмотров: 312
Размер:	208.8 Кб
ID:	11003
Вы когда-нибудь задумывались, почему большинство современных веб-приложений работают так медленно? Классическая модель запрос-ответ, на которой построен весь интернет, давно трещит по швам. Я годами наблюдал, как разработчики пытались выжать максимум из этой устаревшей...
Аватар для stackOverflow
Старый
Стратегии кеширования
Запись от Javaican размещена 29.06.2025 в 15:47 / Making Java great for ever
Показов 9461 Комментарии 0

Нажмите на изображение для увеличения
Название: Стратегии кеширования.jpg
Просмотров: 358
Размер:	189.7 Кб
ID:	10943
Кеширование — это хранение часто запрашиваемых данных в быстром хранилище (обычно в памяти), чтобы не обращаться к более медленному первоисточнику. Казалось бы, все просто. Но за этой простотой скрывается множество архитектурных решений, которые могут как спасти...
Аватар для Javaican
Старый
C# и продвинутые приемы работы с БД
Запись от stackOverflow размещена 17.06.2025 в 21:36
Показов 11781 Комментарии 0

Нажмите на изображение для увеличения
Название: C# и продвинутые приемы работы с БД.jpg
Просмотров: 383
Размер:	210.0 Кб
ID:	10906
Каждый .NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации, особенно когда системы начинали обрабатывать реально большие объемы данных. Стандартные подходы, которым нас учат на курсах и в туториалах, часто создают иллюзию простоты - пиши себе CRUD-операции через Entity Framework, используй асинхронные методы, и...
Аватар для stackOverflow
Старый
Сравнение GCC 14 и Clang 18 компиляторов C для HPC
Запись от bytestream размещена 08.06.2025 в 20:25
Показов 6137 Комментарии 0
Метки c, c++, clang, gcc, highload, hpc, llvm, openmp, simd, си

Нажмите на изображение для увеличения
Название: Сравнение GCC 14 и Clang 18 компиляторов C для HPC.jpg
Просмотров: 360
Размер:	246.2 Кб
ID:	10889
В высокопроизводительных вычислениях (HPC) выбор компилятора - это ход, способный радикально изменить производительность всей системы. Работая последние 15 лет с критическими HPC-системами, я видел случаи, когда замена компилятора буквально "вытягивала" проект...
Аватар для bytestream
Старый
Event-Driven CQRS на C# с паттерном Outbox
Запись от stackOverflow размещена 03.06.2025 в 21:29
Показов 3383 Комментарии 0

Нажмите на изображение для увеличения
Название: Event-Driven CQRS на C# с паттерном Outbox.jpg
Просмотров: 277
Размер:	182.8 Кб
ID:	10871
В традиционной модели происходит примерно следующее: вы получаете команду, обрабатываете ее, сохраняете результат в базу данных и затем пытаетесь опубликовать событие в брокер сообщений. Но что если публикация не удалась? Или что если публикация прошла успешно,...
Аватар для stackOverflow
Старый
Redis и Node.js с TypeScript - решения для высоконагруженных систем
Запись от Reangularity размещена 31.05.2025 в 18:25 / Vue/React/Angular/Svelte notes
Показов 3908 Комментарии 0

Нажмите на изображение для увеличения
Название: fb51e381-d53f-47f9-9296-c82e2c295f14.jpg
Просмотров: 200
Размер:	167.9 Кб
ID:	10864
Redis (Remote Dictionary Server) — сверхбыстрое хранилище данных в памяти, способное обрабатывать операции за микросекунды. И что особенно важно для нас — с удивительно простым API. А теперь добавьте к этому Node.js — асинхронное окружение, созданное для обработки множества параллельных соединений, и TypeScript с его мощной системой типов. Получается технологический трезубец, способный пронзить большинство...
Аватар для Reangularity
Старый
Использование Linq2Db в проектах C# .NET
Запись от UnmanagedCoder размещена 21.05.2025 в 11:00 / C# .Net and all about
Показов 6546 Комментарии 0

Нажмите на изображение для увеличения
Название: 1fea0ed5-8c71-41e4-84ab-efd92b648bec.jpg
Просмотров: 261
Размер:	224.2 Кб
ID:	10833
Среди множества претендентов на корону "идеального ORM" особое место занимает Linq2Db — микро-ORM, балансирующий между мощью полноценных инструментов и легковесностью ручного написания SQL.

Что такое микро-ORM? Вообще, это своеобразный подход к объектно-реляционному...
Аватар для UnmanagedCoder
Старый
Максимальная производительность C#: Span<T> и Memory<T>
Запись от stackOverflow размещена 22.04.2025 в 21:17
Показов 5480 Комментарии 0

Нажмите на изображение для увеличения
Название: 1646cc15-9308-484e-90d0-5aa558b02b39.jpg
Просмотров: 276
Размер:	215.7 Кб
ID:	10632
Мир высоконагруженных приложений безжалостен к неэффективному коду. Каждая миллисекунда на счету, каждый выделенный байт памяти может стать причиной падения производительности. Разработчики на C# долгое время сталкивались с определёнными ограничениями, когда речь шла о работе с памятью и высокопроизводительных вычислениях. Язык, созданный с акцентом...
Аватар для stackOverflow
Старый
Максимальная производительность C#: Советы, тестирование и заключение
Запись от stackOverflow размещена 20.04.2025 в 15:20
Показов 5102 Комментарии 0

Нажмите на изображение для увеличения
Название: d662a4bd-056a-4ca6-86e1-9448a04b274f.jpg
Просмотров: 205
Размер:	77.4 Кб
ID:	10623
Погружение в мир микрооптимизаций C# открывает перед разработчиком целый арсенал мощных техник. Но как определить, где и когда их применять? Ответ начинается с точных измерений и профилирования.

...
Аватар для stackOverflow
Старый
Максимальная производительность C#: Предсказание ветвлений
Запись от stackOverflow размещена 20.04.2025 в 15:11
Показов 4744 Комментарии 0

Нажмите на изображение для увеличения
Название: 1711a160-256a-413d-82a1-ee464ba368b2.jpg
Просмотров: 198
Размер:	180.5 Кб
ID:	10622
Третий ключевой аспект низкоуровневой оптимизации — предсказание ветвлений. Эта тема менее известна среди разработчиков, но её влияние на производительность может быть колоссальным. Чтобы понять важность предсказания ветвлений, нужно взглянуть на то, как устроен конвейер современного процессора.

...
Аватар для stackOverflow
Старый
Максимальная производительность C#: Векторизация (SIMD)
Запись от stackOverflow размещена 20.04.2025 в 14:42
Показов 4770 Комментарии 0

Нажмите на изображение для увеличения
Название: f7a6baba-edc5-4972-8fea-e4c6d643d8e0.jpg
Просмотров: 222
Размер:	195.8 Кб
ID:	10621
Помимо работы с кэшем, другим ключевым аспектом низкоуровневой оптимизации является векторизация вычислений. SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных одной инструкцией процессора, что значительно ускоряет операции над массивами и коллекциями.

...
Аватар для stackOverflow
Старый
Максимальная производительность C#: Процессорный кэш
Запись от stackOverflow размещена 20.04.2025 в 14:17
Показов 3876 Комментарии 0

Нажмите на изображение для увеличения
Название: 712d9cba-407f-4995-b6b6-a64384a2f93c.jpg
Просмотров: 198
Размер:	216.8 Кб
ID:	10620
Знакомство с внутренним устройством процессорного кэша — ключевой шаг в написании по-настоящему быстрого кода на C#. Этот слой архитектуры компьютера часто ускользает от внимания разработчиков, но именно он может объяснить, почему идентичные алгоритмы с одинаковой вычислительной сложностью показывают разительно отличающуюся производительность.

...
Аватар для stackOverflow
Старый
Максимальная производительность C#: Введение в микрооптимизации
Запись от stackOverflow размещена 20.04.2025 в 13:31
Показов 3712 Комментарии 0

Нажмите на изображение для увеличения
Название: 03bce806-4624-4b8f-91c9-aaa629eab3e7.jpg
Просмотров: 182
Размер:	214.4 Кб
ID:	10619
В мире разработки на C# многие привыкли полагаться на .NET Runtime, который "магическим образом" сам оптимизирует код. И часто это работает - современные JIT-компиляторы творят чудеса. Но когда речь заходит о по-настоящему высоконагруженных системах, где каждая миллисекунда...
Аватар для stackOverflow
Старый
Использование кэшей CPU: Максимальная производительность в Go
Запись от golander размещена 05.04.2025 в 16:55 / go go just go
Показов 4049 Комментарии 0

Нажмите на изображение для увеличения
Название: 3b7804e2-ba0c-4008-8371-9fee0e2b4d27.jpg
Просмотров: 186
Размер:	134.4 Кб
ID:	10535
Разработчикам хорошо известно, что эффективность кода зависит не только от алгоритмов и структур данных, но и от того, насколько удачно программа взаимодействует с железом. Среди множества факторов, влияющих на производительность, особое место занимает работа с кэш-памятью процессора. Именно кэш-память часто становится тем узким местом, которое ограничивает быстродействие даже самых элегантных...
Аватар для golander
Старый
Предсказание ветвлений - путь к высокопроизводи­тельному C++
Запись от NullReferenced размещена 17.03.2025 в 20:02 / C++ for fun and for life
Показов 3445 Комментарии 0

Нажмите на изображение для увеличения
Название: 7a8afec6-e878-492e-b229-4137038c63ec.jpg
Просмотров: 198
Размер:	243.6 Кб
ID:	10441
В высокопроизводительном программировании на C++ каждый такт процессора на счету. Когда речь заходит о разработке систем с низкой задержкой — будь то высокочастотная торговля, обработка потоковых данных или игровые движки — мелочей не бывает. И одна из таких "мелочей", которая может радикально влиять на производительность, это предсказание ветвлений.

Предсказание ветвлений — это механизм, используемый современными процессорами для угадывания...
Аватар для NullReferenced
Старый
Управление памятью в Java и новые сборщики мусора
Запись от Javaican размещена 15.03.2025 в 19:23 / Making Java great for ever
Показов 2757 Комментарии 0
Метки highload, java

Нажмите на изображение для увеличения
Название: 4c6c50bf-0092-4018-a8a0-2f6475e03b02.jpg
Просмотров: 119
Размер:	159.6 Кб
ID:	10413
Эффективное управление памятью всегда было ахиллесовой пятой высоконагруженных Java-приложений. При разработке на Java мы обычно полагаемся на автоматическое управление памятью через сборщики мусора (Garbage Collectors, GC). Это великолепная особенность языка — не нужно вручную освобождать память, как в C или C++. Но такая роскошь имеет свою цену. Когда сборщик мусора запускается, он может на время приостановить...
Аватар для Javaican
Старый
Продвинутые настройки JVM
Запись от Javaican размещена 14.03.2025 в 17:31 / Making Java great for ever
Показов 2036 Комментарии 0
Метки highload, java, jvm

Нажмите на изображение для увеличения
Название: b711b377-a1b6-449d-bf43-25b57cfe1f53.jpg
Просмотров: 128
Размер:	172.5 Кб
ID:	10399
Стандартные параметры запуска JVM хороши для повседневной разработки, но совершенно недостаточны для высоконагруженных систем. Представьте, что вы запускаете финансовую платформу, обрабатывающую тысячи транзакций в секунду, или микросервисную архитектуру с сотнями сервисов...
Аватар для Javaican
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru