Size: a a a

2021 March 25

I

IdiocyAcceptance in pro.net
EgorBo
хотя сам факт что я сделал это руками, а не джит это сделал заставляет меня немного грустить
А почему эту оптимизашку не завезли ещё?
источник

E

EgorBo in pro.net
хз
источник

E

EgorBo in pro.net
у автора ПР там какие-то проблемы со здоровьем
источник

I

IdiocyAcceptance in pro.net
Посмотрел бенч, мне кажется что DateTime.Now так то изрядно жрёт
источник

I

IdiocyAcceptance in pro.net
В цикле то
источник

E

EgorBo in pro.net
что поделать, это то как 90% таких говнобенчей написано
источник

E

EgorBo in pro.net
когда сравнивают разные языки
источник

IB

Ivan Balanar in pro.net
EgorBo
хотя сам факт что я сделал это руками, а не джит это сделал заставляет меня немного грустить
bitArray[(int)((uint)index / 2)]; за счет чего ускоряет? знаковый бит так сильно мешает?
источник

E

EgorBo in pro.net
деление на 2 для unsinged можно оптимизировать в шифт
источник

E

EgorBo in pro.net
для signed - сложнее
источник

IB

Ivan Balanar in pro.net
да, спасибо. действительно тривиально.
источник
2021 March 26

Dv

Dr. Friedrich von Ne... in pro.net
Vyacheslav
ребят, вопрос есть. как P/Invoke работает? я могу как то иначе дернуть процедуру без P/Invoke например по её адресу?
Чем "дёрнуть процедуру по её адресу" отличается от P/Invoke? Мне кажется, это пример пинвока и есть.
источник

AA

Anton Antonov in pro.net
Vyacheslav
ребят, вопрос есть. как P/Invoke работает? я могу как то иначе дернуть процедуру без P/Invoke например по её адресу?
Ну гляди. Ты спомощью winapi поможешь в области памяти, в которой ты можешь что-то запускать выделить память под свою программу (virtual alloc). Потом в эту область положить любую процедуру с помощью marshal.copy.
Затем с помощью marshal.getdelegateforfunctionpointer вернуть делегат твоей функции, которую за запульнул в память. И использовать этот делегат.
Но вопрос зачем, если есть pinvoke. Разве что, ты хочешь юзать прям asm команды в сыром виде.
источник

Dv

Dr. Friedrich von Ne... in pro.net
Anton Antonov
Ну гляди. Ты спомощью winapi поможешь в области памяти, в которой ты можешь что-то запускать выделить память под свою программу (virtual alloc). Потом в эту область положить любую процедуру с помощью marshal.copy.
Затем с помощью marshal.getdelegateforfunctionpointer вернуть делегат твоей функции, которую за запульнул в память. И использовать этот делегат.
Но вопрос зачем, если есть pinvoke. Разве что, ты хочешь юзать прям asm команды в сыром виде.
Не нужен уже никакой маршал, там был пример на func ptr от Егора.
источник

AT

Alexey Tkachenko in pro.net
EgorBo
для signed - сложнее
А чем сложнее для signed? Выбрать shr/sar?
источник

IC

Ilya Chernoudov in pro.net
как получит из ITypedSymbol текст типа без nullable annotations?
источник

V

Vatt in pro.net
я извлечение рисовал, для обычных типов OriginalDefinition для тайп аргументов скажем листа надо конструкт делать
источник

IC

Ilya Chernoudov in pro.net
Vatt
я извлечение рисовал, для обычных типов OriginalDefinition для тайп аргументов скажем листа надо конструкт делать
у меня есть свойства типа SomeType<string?>? Property {get;set;} и ToString даёт SomeType<T?>?, а OriginalDefinition = SomeType<T>
источник

V

Vatt in pro.net
и для нереференс типов надо тайпаргумент брать
источник

V

Vatt in pro.net
потомучто там полноценая обертка
источник