The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Сравнение эффективности 20 языков программирования, opennews (??), 03-Янв-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


329. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Аноним (-), 04-Янв-24, 05:04 
Vec -- это если что типа "умный указатель". Но даже это не важно: то, что ты называешь "передачей по значению", в расте на самом деле передача овнершипа, а вот будет ли она на уровне ассемблера реализована передачей указателя или копированием значения в регистры -- это забота компилятора.
Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

335. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Советский инженер (ok), 04-Янв-24, 08:39 
>в расте на самом деле передача овнершипа, а вот будет ли она на уровне ассемблера реализована передачей указателя или копированием значения в регистры -- это забота компилятора

как я писал выше, Vec<T> занимает 24 байта для 64-битной системы, т.е. в регистры он не пролезет. передача будет через стек.
Плюс, это передача в функцию. если она не заинлайнится (а она не инлайнится, я проверил) то накладные расходы будут, и будут выше, чем передача в функцию указателей (ссылок)

Ответить | Правка | Наверх | Cообщить модератору

403. "Сравнение эффективности 20 языков программирования"  +/
Сообщение от Аноним (-), 05-Янв-24, 10:04 
> передача будет через стек.

Если раст откажется проталкивать значение в функцию через регистры, то он положит в %rdi адрес этого значения. Куда он будет класть адрес на arm64 я не знаю, но спорить готов, что тоже в какой-нибудь регистр.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру