Try English version of Quizful



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

Вы можете подписаться на RSS ленту новых тестов сервиса Quizful, в том числе и отдельно по каждой категории

Лента обновлений
ссылка 14:07:08
Комментарий от QUIZlogin:
Ответ неверный. Правильный ответ - 'Нет', т.к. функция...
ссылка 13:49:35
Комментарий от authentikos:
Спасибо.
ссылка 03:16:09
Комментарий от Croessmah:
1) Автоматически генерируются только специальные функц...
ссылка 03:15:40
Комментарий от Croessmah:
Именно. А еще, как минимум, запятую не забыть, sizeof,...
ссылка Feb 23 22:01
Комментарий от egorw:
+
Статистика

Тестов: 152, вопросов: 8526. Пройдено: 353800 / 1706209.

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

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

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

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

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

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

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

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