Топ контрибуторов
loading
loading
Знаете ли Вы, что

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

Лента обновлений
ссылка Dec 3 08:50
Комментарий от poxpov:
Почему не могу пополнить счет? Я ввожу количество Q -> на...
ссылка Dec 3 06:55
Комментарий от Gurerus:
Согласен с тем, что этот вопрос стоит заменить/исправить...
ссылка Dec 2 19:02
Комментарий от nobodyppx:
+
ссылка Dec 2 11:36
Комментарий от vesa:
Отличный вопрос! Я так понимаю, что здесь речь идёт о ранне...
ссылка Dec 2 11:24
Комментарий от vesa:
Неоднозначная формулировка. Объекты Employee могут как созд...
Статистика

Тестов: 153, вопросов: 8596. Пройдено: 473463 / 2308846.

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

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

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

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

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

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

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

Голосов: 56  loading...
RubyMan   alexcei88   Retrinos   xtozna   AntonDav   dkslayer   legendarry   Bloob   SuccessVM   NitroTol   vady132   Whitechapel   body_minsk   kox   Likurg   polyariz   freakinbook   Tiko1999   cascaded   Mansur_777   minato_san   andrijk   kreghek   MihailTroizkiy   LincolnShow   xjmaverickjx   roxadams   runway21   alexpykavy   tatiana43   re_gi_na   Alexandr_A   alg5   Phemmer   klio82   Per7ik   toddams   loanst   kablagan   somebodyg   RomaKos   luba1985   Estilo   romkokarpo   Artin   prod3   gekas   grave   lvadim   vvv1313   taniaro   Kosa   zxcvb23   vajarkov   vooksana   Feniks726