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

У нас ща планниг фич на нет9, есть у кого

идейки какие?

16 ответов

22 просмотра

а ты адо.нет можешь ускорить? :D

EgorBo- Автор вопроса

А можно layout типа получить в рантайме? Где дырки, где поля, где managed-поля, где unmanaged-поля Ну или что-то такое: ReadOnlySpan<byte> GetLayoutMask(Type targetType, LayoutFlags flags) - позвал c LayoutFlags.Unmanaged и получил масочку, где unmanaged-поля - там 1, где managed-поля или дырки - там 0

EgorBo- Автор вопроса
Evgeniy Alexandrov
А можно layout типа получить в рантайме? Где дырки...

внутреннее апи есть такое, публичного - нет

EgorBo
внутреннее апи есть такое, публичного - нет

Так может опубликовать? Чем не фича рантайма для net9

EgorBo- Автор вопроса
EgorBo
создай ишью апи пропозал 🤷‍♂️

Вот возьму и создам! Но ты же знаешь чем это закончится - придет таннер и скажет, что нинужна!11 Ну или свой альтернативный пропозал предложит, в котором будет переименование IsReferenceOrContainsReferences

Evgeniy Alexandrov
А можно layout типа получить в рантайме? Где дырки...

Так сделай просто так же - https://github.com/SergeyTeplyakov/ObjectLayoutInspector

Nick M.
Так сделай просто так же - https://github.com/Serg...

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

А для чего ты используешь эти знания прямо в рантайме? В целом вроде не подводил, давно пользуюсь. Правда у нас почти везде struct/record struct и т.п.

Nick M.
А для чего ты используешь эти знания прямо в ранта...

самому что б можно было структуры через memcmp сравнивать

EgorBo- Автор вопроса
Evgeniy Alexandrov
самому что б можно было структуры через memcmp сра...

так они и так сравниваются через мемкмп если можно

EgorBo
так они и так сравниваются через мемкмп если можно

Есть нюанс, если у тебя там padding есть и кто-то балуется SkipLocals к примеру, можно и встрять

EgorBo
так они и так сравниваются через мемкмп если можно

это внутри рантайма только, где IsBitwiseEquatable<T> есть и это только голые байты а можно было бы масочку наложить, и гонять по результату применения маски - если уверен про свою конкретную структуру

EgorBo- Автор вопроса
Evgeniy Alexandrov
это внутри рантайма только, где IsBitwiseEquatable...

так лучше просто ускорить дефолтный Struct.Equals

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

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

а через 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
Карта сайта