170 похожих чатов

Всем привет! Нужен совет, где можно хранить данные из РБД

"по-ближе" к процессору?

Редис и https://www.npmjs.com/package/node-cache работают в формате ключ-значение, следовательно, придется либо лепить жсонки из таблиц, либо плодить очень много параметров. Есть и третий вариант, что я сам не вижу хорошего решения

Буду благодарен за любые подсказки

51 ответов

27 просмотров

Ну сделайте у себя в коде: const myFaaasssstDB = {}; myFaaasssstDB[“myQuery”] = /*тут сохраняете данные из запроса*/ И держите ближе к процессору 😅

На л3 кэше процессора, есть такие базы данных которые там могут хранить от 8 мб базы ))) вот у них очень все быстро происходит! Боюсь название сказать БД, но даже если догадываетесь, она не решиает вашу проблему

что значит "хранить данные из рбд"?

ты процессор с ОЗУ не спутал, случайно?

ОЗУ это поближе к процессору

ага, и к блоку питания тоже

Иди учи матчасть

сам иди. Я всего лишь конкретизировал твои требования, а ты тут умничаешь

Какие мои требования?)

сумбурные и невнятные

Что ты несешь?)

ок, не твои )) но все равно иди ))

L3 самый близкий вариант в его теме

В L3 можно что-то писать нормально?

А чо не L4 или L2 ?)))

Размер, retention и возможность уходить в перерасход

Только вам никто не даст пользоваться этими кешами напрямую просто так во всех процессорах)) Я не прям целиком в курсе, но эти кеши не управляются программно, можно только косвенно на это влиять))

Посмотрите исходный код например базы данных clickhouse

Нк например времени у меня столько нет, но опять же, если у вас есть строчка кода или еще что-то, где они там не косвенно юзают этот кеш L3, а напрямую, то буду рад глянуть))

https://clickhouse.tech/codebrowser/html_report///ClickHouse/contrib/libcpuid/libcpuid/cpuid_main.c.html Соори на скорую руку смотри метод cpu_id_t_constructor

а где есть L4?

Ну я на самом деле слышал когда-то что он должен был быть, и чот решил спиздануть, но щас погуглил после ващего вопроса, и правда intel пытались l4 кеш замутить в какой-то из архитектур впихнув на этот уровень eDRAM

это просто инфа о процессоре, на котором работает код там заполняется структура, в которой хранится размер кеша, вот она: clickhouse.tech/codebrowser/html_report///ClickHouse/contrib/libcpuid/libcpuid/libcpuid.h.html#cpu_id_t никакой прямой работы с кешами процессора в этом коде нет

Что ты понимаешь под работой с кэшем процессора?

не я, а ты ты отвечал в контексте что у программиста есть возможность работать с кешем напрямую

я имел ввиду считывать оттуда и записывать

отвечая на глуппый вопрос про редис и рбд

двойка ))

Ну опять же косвенно)) нет такого интерфейса работать напрямую с кешем процессора))

не может программист оттуда читать и записывать максимум что ты можешь сделать - пытаться оптимизировать код так, чтобы промахов было как можно меньше - а это весьма косвенная работа с кешем

именно

Можно на сях обвязку написать для этого в теории

И на сях вы напрямую в кеш не сможете писать)) Т.е. вы когда создаете объекты или массивы или еще что-то, вы по сути их создаете в ОЗУ, вы можете прочитать и написать в файл с помощью файловой системы, но нет в OS такой штуки как написать или прочитать из кеша процессора напрямую)) Там может у какого-то конкретного процессора и есть подобный инструмент, я точно не в курсе, но по факту только косвенно оптимизировать данные в озу так, чтобы они красиво клались в кеше))

От архитектуры же зависит, что нельзя на x86, можно у других

И я бы не был так уверен, в том же intel полно не документированных инструкций, наличием там работы с кешем может быть без проблем

Если вам хочется внести конструктива - покажите инструкции, архитектуру процессора, где такое возможно, что вы нового-то не привносите в разговор))

А на асме наверно можно в кеш закинуть? Если писать не под винду, а под камень?

Достаточно предположений, найдите и киньте ссылку, без ссылки не приходите, вон уже админ ругается, прекращайте!)

писать не под винду, а под камень почему такое противопоставление, винда с камнем?

ну впод окно тоже можно впринципе, если там туалет стоит))

это лишено смысла там конвейер, с чем сейчас работает процессор, то и идёт по линии

потому что для некоторых не умеющих работать с файлами из интернета это камень)

Как тогда intel me работает?

онлайн

Как это связано с возможностью работать с кешем напрямую, не могу понять Как работает не знаю, но в Вики написано, что оно встроено в чипсет, следовательно ему не нужен тот "api", который проц предоставляет

У интела же есть _mm_cl инструкции для кеша, наверное и у других производитей есть что то подобное

Что-то я найти такую не могу, может кинитесь прямой ссылкой?)

Да, не совсем понятно выразился Инструкции имеют приставку _mm_cl https://software.intel.com/sites/landingpage/IntrinsicsGuide/

Ну под виндой наверно api высокоуровневое, но я не уверен. А под камень пишешь - даже винда не нужна. Я процессоры плохо знаю, только микроконтроллеры

Что-то “смотрел в книгу, видел фигу”, пофик кароче))

👍 там только команды для инвалидации кеша (видимо в каких-то случаях помогает повысить производительность, но пока не могу придумать таких случаев) и одна для вытеснения из кеша в память это по прежнему не прямая работа с кешем, хотя уже ближе к тому, что тут пытались найти

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта