Цитата:
|
Цитата:
А здесь сделано data = data.toString(16). |
Цитата:
Попробуйте с нечетным количеством 16-ричных цифр и убедитесь, что 0 в начале не добавляется let data = 384n; // 0x180 data = data.toString(16).padStart(data.length + data.length%2, '0'); console.log(data); Цитата:
|
Цитата:
// сначала надо преобразовать в 16? data = data.toString(16); // а уже потом работать с ней data = data.padStart(data.length + data.length%2, '0'); Так получается? |
Цитата:
|
Цитата:
а этот вопрос к чему был?)) |
voraa,
а если для хранения в ОП?) |
Цитата:
Иначе памяти потребуется в разы больше. В памяти каждое число хранится как 8 байтовое вещественное (double64), а в строках по 2 байта на символ (utf-16)/ |
Цитата:
Изначально эта тема поднималась для записи именно на диск. Но сейчас интересен вопрос и про оперативную память. Как считаете, насколько актуально принимать на сервер данные в формате JSON, конвертировать их в двоичные данные и записывать в память (map, set и т.д.) — в типизированные массивы? Взять тот же Map — значение ключа может быть совершенно любым — мы можем создать new ArrayBuffer() и записать в него UUID участника. Получается, что мы можем оптимизировать использование объёма оперативной памяти — уменьшить его как минимум 2 в раза. Насколько верны данные размышления?) |
Мне трудно рассуждать абстрактно, не понимая всей задачи. Что и сколько передается, что где хранится, какие объемы?
Сделать то можно, что угодно. Количество записей у вас только растет. Как долго оно растет? Днями, месяцами, годами...? Нужен все равно какой то предел количества записей при хранении в ОП. Она не резиновая. Какие операции с ключами? Только сравнение на равенство? Сравнение типизированных массивов не мгновенная операция. Она требует перебора - преобразование каждого элемента массива в обычное числовое значение и только тогда сравнивать. Сколько это займет по времени? |
Часовой пояс GMT +3, время: 20:39. |