Try English version of Quizful



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

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

Лента обновлений
ссылка 15:26:22
Комментарий от neon009:
а как поправить?
ссылка 15:02:53
Комментарий от dnxumuk:
1. К ООП оно никаким боком ...
2. "члены функции" ? что ...
ссылка 14:29:40
Комментарий от neon009:
Вопрос ориентирован на то как inline влияет на члены фун...
ссылка Feb 22 13:03
Комментарий от Croessmah:
Ну так это вопрос не по ООП.
ссылка Feb 22 12:45
Комментарий от dudoser322228:
Супер, спасибо!
Статистика

Тестов: 153, вопросов: 8584. Пройдено: 397071 / 1932052.

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

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

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

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

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

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

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

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