Try English version of Quizful



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

Если у вас есть уникальная статья и вы хотите, чтобы она стала достоянием общественности, вы можете разместить ее на Quizful.

Лента обновлений
ссылка Sep 24 20:31
Комментарий от Anton__1998:
Вот это да.
ссылка Sep 24 07:08
Добавлен вопрос в тест C# - Средний уровень
ссылка Sep 24 03:33
Комментарий от Myxach:
Хмм, мне кажется или такие конструкции желательно не допу...
ссылка Sep 23 23:56
Добавлен вопрос в тест PHP 4 - Средний уровень
ссылка Sep 23 22:39
Комментарий от k0nstant1n:
Интересно, такие операторы где-то на практике использ...
Статистика

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

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

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

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

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

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

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

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

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