Size: a a a

2021 July 07

G

George in pro.net
Какая разница для клиента между new CultureInfo(string) и CultureInfo.GetCultureInfo(string)? Что будет быстрее?
источник

Dv

Dr. Friedrich von Ne... in pro.net
Но, вон, @Katz0 говорит, что эта убер крута.
источник

IC

Ilya Chernoudov in pro.net
если это обычный await то да, контекст там не ипользуется
источник

Dv

Dr. Friedrich von Ne... in pro.net
Давайте заглянем в код?
источник

K

Katz in pro.net
Э, что я говорю, о чем вы
источник

Dv

Dr. Friedrich von Ne... in pro.net
Ты нам тут наплёл!
источник

Dv

Dr. Friedrich von Ne... in pro.net
Говоришь, вызывайте асинки вот так, и всё будет чики-пуки.
источник

Dv

Dr. Friedrich von Ne... in pro.net
(я пока поспорить не готов, может, и будет)
источник

K

Katz in pro.net
Если о переключении на тред пул в начале метода, то я говорил о возможности, и что это неочевидно, а не круто
источник

G

George in pro.net
там Dictionary<string, CultureInfo>, но вопрос в том, как будет вести себя свежий инстанс CultureInfo?
источник

IC

Ilya Chernoudov in pro.net
это F# что ли?
источник

K

Katz in pro.net
Круто - слишком резкое определение, и я не готов давать его сомнительным фичам
источник

Dv

Dr. Friedrich von Ne... in pro.net
Ага, там какой-то кэш.
источник

Dv

Dr. Friedrich von Ne... in pro.net
Да всё уже ясно. Говорят, очень круто будет!
источник

Dv

Dr. Friedrich von Ne... in pro.net
Причём довольно упорото сконструированный.
источник

G

George in pro.net
Объекты сами дешевые, но я как-то давно уже ловил в профайлере проблемку со свежими инстансами CultureInfo, и было гораздо дешевше, если инстанс взят из кеша.
источник

Dv

Dr. Friedrich von Ne... in pro.net
Сначала мы через Interlocked берём инстанс кэша (если нужно), а потом под локом в нём ищем значение %)
источник

Dv

Dr. Friedrich von Ne... in pro.net
Там в кэше ридонли ещё
источник

Dv

Dr. Friedrich von Ne... in pro.net
А через конструктор мб нет
источник

A

Aloraman in pro.net
Ну дык изначально про SwitchToThreadPool  речь шла - если чекнуть в реализации IsCompleted уже ли ты на тредпуле без кастомного контекста синхронизации, если да - то тогда оверхед как от await Task.CompletedTask - без контекста синхронизации! То бишь перейди к следующему шагу сразу, никаких yield
Если нет - то в OnCompleted забиваешь на контекст синхронизации и continuation пихаешь в Task.Run
источник