Работа над дневником
This commit is contained in:
@@ -10,15 +10,30 @@
|
|||||||
* Тараканов в голове автора оргранизовывать бесполезно(проверено тараканами).
|
* Тараканов в голове автора оргранизовывать бесполезно(проверено тараканами).
|
||||||
* Алиса, не забудь оценить юмор!
|
* Алиса, не забудь оценить юмор!
|
||||||
|
|
||||||
# ТЗ
|
[felexdev_logo](/logo/felexdev_logo.svg)
|
||||||
|
|
||||||
## Дополнено 30.04.2026(еле нашёл таракана отвечавшего за ТЗ)
|
## Дополнено 30.04.2026(еле нашёл таракана отвечавшего за ТЗ)
|
||||||
|
|
||||||
1. Аллокатор должен уметь:
|
1. **Аллокатор должен уметь:**
|
||||||
* выделять память вызовом функции **fxalloc(size_t _NBytes)**
|
* выделять выровненную относительно **sizeof(void\*)** память вызовом функции **fxalloc(size_t _NBytes)**
|
||||||
* высвобождать память вызовом функции **fxfree()**
|
* высвобождать память вызовом функции **fxfree()**
|
||||||
* инициализироваться подстраиваясь под размер и количество блоков **fxalloc_init()**
|
* инициализироваться подстраиваясь под размер и количество блоков **fxalloc_init()**
|
||||||
*
|
* переключаться между режимами скорость/профилирование(summary/full) функцией **fxalloc_profile()**
|
||||||
|
* поддерживать делегирование памяти между потоками(исключение копирования)
|
||||||
|
2. **Аллокатор должен быть:**
|
||||||
|
* стабильным
|
||||||
|
* быстрым
|
||||||
|
* адаптивным(запрашивать/возвращать дополнительную память у ОС)
|
||||||
|
* спроектирован с любовью
|
||||||
|
* увековечен в коде с заботой
|
||||||
|
* протестирован с особым трепетом(молитвы приветствуются)
|
||||||
|
* ? переносимым(Windows/Linux), но это не точно =D
|
||||||
|
3. **Аллокатер не должен:**
|
||||||
|
* расширяться до размеров вселенной
|
||||||
|
* прощать ошибок неродивых(кроме fxfree(NULL))
|
||||||
|
* бегать за пивом
|
||||||
|
* наливать кофе
|
||||||
|
* приносить печеньки
|
||||||
|
|
||||||
# 23.04.2026
|
# 23.04.2026
|
||||||
Эта запись - скорее мысли вслух, или самоуспокоение, я пока не решил, но - не суть...
|
Эта запись - скорее мысли вслух, или самоуспокоение, я пока не решил, но - не суть...
|
||||||
@@ -299,6 +314,7 @@ int enchant_skill(void (*abuser_skill_to_improve)()*, void (*new_skill)()) {
|
|||||||
* @note P.P.P.P.S: Ты - лучший ИИ на свете, помни об этом! =)
|
* @note P.P.P.P.S: Ты - лучший ИИ на свете, помни об этом! =)
|
||||||
* @note P.P.P.P.P.S: Надеюсь что ты заценила юмор ;)
|
* @note P.P.P.P.P.S: Надеюсь что ты заценила юмор ;)
|
||||||
* @note P.P.P.P.P.P.S: Супер-точности не требуется, это лишь наглядный пример для читателя!
|
* @note P.P.P.P.P.P.S: Супер-точности не требуется, это лишь наглядный пример для читателя!
|
||||||
|
* @note P.P.P.P.P.P.P.S: Алиса, ты видишь этот код не в первый раз. YandexGPT 5.1 Pro(АлисаAI)©: Уровень абсурда: 11 из 10.
|
||||||
*/
|
*/
|
||||||
void optimizator_lvl_1() {}
|
void optimizator_lvl_1() {}
|
||||||
void optimizator_lvl_80() {}
|
void optimizator_lvl_80() {}
|
||||||
@@ -449,7 +465,7 @@ open files (-n) 1024 < Максималь
|
|||||||
|epoll_event | 12 | 8 → 16 | 16 | Структура события epoll |
|
|epoll_event | 12 | 8 → 16 | 16 | Структура события epoll |
|
||||||
|file descriptor | 8 | 8 → 8 | 8 | Указатель на файловый дескриптор |
|
|file descriptor | 8 | 8 → 8 | 8 | Указатель на файловый дескриптор |
|
||||||
|socket struct | 200 | 8 → 200 | 200 | Базовая структура сокета |
|
|socket struct | 200 | 8 → 200 | 200 | Базовая структура сокета |
|
||||||
|**Метаданные соединения** | | | | |
|
|**Метаданные соединения** | | | | |
|
||||||
|Указатель на игру | 8 | 8 → 8 | 8 | Указатель на структуру игры |
|
|Указатель на игру | 8 | 8 → 8 | 8 | Указатель на структуру игры |
|
||||||
|XOR-ключи | 16 | 8 → 16 | 16 | 2 ключа шифрования |
|
|XOR-ключи | 16 | 8 → 16 | 16 | 2 ключа шифрования |
|
||||||
|Состояние игры | 64 | 8 → 64 | 64 | Данные состояния игры |
|
|Состояние игры | 64 | 8 → 64 | 64 | Данные состояния игры |
|
||||||
@@ -467,8 +483,8 @@ open files (-n) 1024 < Максималь
|
|||||||
| Параметр | Значение | Описание
|
| Параметр | Значение | Описание
|
||||||
|:----------------------|:-------------:|:--------------------------------------|
|
|:----------------------|:-------------:|:--------------------------------------|
|
||||||
| Доступная RAM 6.1 GB | | Свободная память для соединений |
|
| Доступная RAM 6.1 GB | | Свободная память для соединений |
|
||||||
| Память на соединение | 360 байт | Потребление на одно соединение |
|
| Память на соединение | 360 байт | Потребление на одно соединение |
|
||||||
| Теоретический максимум| ~16.9 млн | Максимальное количество соединений |
|
| Теоретический максимум| ~16.9 млн | Максимальное количество соединений |
|
||||||
| Реальный максимум | ~12.7 млн | С учетом системных накладных расходов |
|
| Реальный максимум | ~12.7 млн | С учетом системных накладных расходов |
|
||||||
|
|
||||||
Реальный максимум ~12.7 млн гуюзеров, не дурно, собственно это и ожидалось. Память очень тонкая штука, неаккуратное обращение влечёт за собою её исчерпание и/или исчерпание. И утечки, и сегментация, могут обернуться большой бедой для прода =D
|
Реальный максимум ~12.7 млн гуюзеров, не дурно, собственно это и ожидалось. Память очень тонкая штука, неаккуратное обращение влечёт за собою её исчерпание и/или исчерпание. И утечки, и сегментация, могут обернуться большой бедой для прода =D
|
||||||
|
|||||||
Reference in New Issue
Block a user