Size: a a a

var chat = new Chat();

2021 September 10

AL

Alexander Luzgarev in var chat = new Chat();
Branch misprediction
источник

E

Etki in var chat = new Chat();
там не обязательно бранчи вообще (:
источник

E

Etki in var chat = new Chat();
надо ассемблю смотреть, да
источник

E

Etki in var chat = new Chat();
еее, ну конечно куда же без царского анролла
источник

E

Etki in var chat = new Chat();
В общем кроме непосредственно бранчей с jX есть такая штука как cmovX, например.
Она меняет control dependency на data dependency и в отличие от бранчей абсолютно стабильна на рандоме, но может заставить больше вычислять наперед и иметь больше инструкций.
Что именно подсунет компилятор зависит от компилятора, например в джаве Math.max компилируется именно в cmovl без бранчей.
С учетом того что в дотнете теперь tiered compilation, без ассемблерного листинга того, что выплюнул компилятор второго уровня, всё это бессмысленно.
источник

Ɖ

Ɖrēw in var chat = new Chat();
К тому же, непонятно. на каком дотнете статья выше компилилась и запускалась
источник

E

Etki in var chat = new Chat();
Т.е. я скормил это например в шарплаб, но судя по количеству мусора там прошелся только компилятор первого уровня (что логично, потому что второй уровень ждет пока соберется профиль)
источник

Ɖ

Ɖrēw in var chat = new Chat();
С каждой новой версией там вливается новая пачка микрооптмизаций
источник

MN

Mr. N in var chat = new Chat();
он его инкасулировал {set;get}
источник

Ɖ

Ɖrēw in var chat = new Chat();
Публичный гет сет это не значит что заинкапсулировал
источник

Ɖ

Ɖrēw in var chat = new Chat();
Это называется высунул наружу в чем мать родила
источник

Ɖ

Ɖrēw in var chat = new Chat();
Высунул мутабельность всем полюбоваться
источник

Ɖ

Ɖrēw in var chat = new Chat();
Короче уже обсудили и закрыли тему
источник

MN

Mr. N in var chat = new Chat();
Не вижу смысла обрезать  функциональность
источник

MN

Mr. N in var chat = new Chat();
почему норм, только можно заменить Count например на какойто bool
источник

Ɖ

Ɖrēw in var chat = new Chat();
Чувак ну почитай целиком
источник

Ɖ

Ɖrēw in var chat = new Chat();
И потом пиши
источник

Ɖ

Ɖrēw in var chat = new Chat();
Заново все обьяснять не вижу смысла
источник

MN

Mr. N in var chat = new Chat();
IEnumerable<string>
 resultModel = new ResultModel ...
(resultModel as List<string)>.Clear():
источник

Ɖ

Ɖrēw in var chat = new Chat();
Ну ты еще рефлексию в пример приведи
источник