Re[55]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: vdimas Россия  
Дата: 08.09.21 02:43
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>>>Примерно такой код и живёт

V>>Так где?
S>Вы в ответ на этот вопрос без ответе жжоте в другой ветке. Повторюсь, мне не лень:
S>https://github.com/mysql-net/MySqlConnector/blob/76357a15baf0a9437d123e8a884044d633eb006c/src/MySqlConnector/Core/BinaryRow.cs#L72

Продолжаю не видеть там этого кода, про который спросил здесь:
http://www.rsdn.org/forum/flame.comp/8083927.1

Я просил ссылку на тот код чтобы понять, наконец, это реальный код или умозрительный твой.


V>>В других сообщениях я утверждал, что те или иные классы можно было сделать структурами, ты отвечал "они и так структуры" — так где?

S>Вы неверно поняли то, что я писал. Я писал, что внутри MSSQL-драйвера данные лежат в буферах структурного типа, чтобы избежать боксинга на горячих путях. Единственное что — мне показалось, что они там прямо массив структур в датаридере держат, а на самом деле — массив объектов, в которых есть поле-union, в котором лежат данные.

Именно.
И так там вдоль всего кода.
И тоже боксинг в простейших случаях:
        internal int Int32
        {
            get
            {
                ThrowIfNull();

                if (StorageType.Int32 == _type)
                {
                    return _value._int32;
                }
                return (int)Value; // anything else we haven't thought of goes through boxing.
            }
            set
            {
                Debug.Assert(IsEmpty, "setting value a second time?");
                _value._int32 = value;
                _type = StorageType.Int32;
                _isNull = false;
            }
        }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.