Try English version of Quizful



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

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

Лента обновлений
ссылка 19:35:14
Комментарий от jurfed:
Поправка к ответу: Локальные вложенные классы не могут им...
ссылка 19:27:48
Комментарий от ttt1:
потому что класлоадер не сможет выбрать объект для загрузки...
ссылка 16:12:08
Комментарий от ttt1:
в каком гугле?
ссылка 13:18:19
Комментарий от serj_agaka:
Согласен на счёт "Модули могут добавляться по одному,...
ссылка Jul 25 22:57
Комментарий от jekonda:
В Java такой код работает, вот я и ошибся(
Статистика

Тестов: 152, вопросов: 8545. Пройдено: 373527 / 1808540.

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

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

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

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

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

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

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

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