Try English version of Quizful



Раздаем бесплатные Q! подробности в группе Quizful.Alpha-test
Партнеры
Рекрутерам: Прескрининг кандидатов about
Cogniance тесты работодателя about
Топ контрибуторов
loading
loading
Знаете ли Вы, что

Список полученных сертификатов находится на странице Вашего профиля. Сертификаты можно распечатать или разместить на Вашем сайте.

Лента обновлений
ссылка 21:56:04
Комментарий от ifgeny87:
IDEA сообщает в строке 2:
There is no default construct...
ссылка 21:54:29
Комментарий от ifgeny87:
Из комментариев и пояснения не понятно, что происходит....
ссылка 20:40:03
Комментарий от MJane_pl:
Все б так объясняли!) просто и доступно
ссылка 18:17:49
Комментарий от thelegendmaus:
Нормально так, мне понравилось
ссылка 18:03:00
Комментарий от za4emnik111:
разрабыкриворукие, удалил
Статистика

Тестов: 152, вопросов: 8529. Пройдено: 348645 / 1677810.

C# / Может ли ValueType проиграть в произодительности ReferenceType?

Автор: xtrimsmile  к списку      

Вопрос
Есть ли такой сценарий, при котором ValueType переменная уступит в производительности ссылочной переменной?
Ответ

Да, есть. При вызове метода с параметрами, происходит, соответственно, передача этих параметров вверх по стеку.

Вариант 1. Если для ссылочных типов копируются только ссылки, которые в 64х разрядных системах занимают 8 байтов, в 32х - 4, то для Value типов происходит копирование значения целиком, а скорость копирования зависит от размера элемента копирования.

Вариант 2. Если в качестве параметра мы передаем ValueType, а параметром является object, то происходит упаковка (т.е. мы получаем полноценный процесс создания переменной с выделением памяти в управляемой памяти), что медленнее простого копирования ссылки.

Если Вам понравился вопрос, проголосуйте за него

Голосов: 34  loading...
minato_san   Artin   kreghek   romkokarpo   Kosa   Alexandr_A   xjmaverickjx   zxcvb23   RubyMan   roxadams   alexcei88   tatiana43   vajarkov   Phemmer   re_gi_na   toddams   Mansur_777   grave   lvadim   AntonDav   xtozna   cascaded   kox   RomaKos   gekas   Estilo   Likurg   klio82   andrijk   kablagan   Bloob   polyariz   dkslayer   loanst