LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

конструктор «перемещения» - все равно копирует. просто копирует меньше, чем полное копирование. разумеется все равно проигрывает возврату значения через адрес - чем и является передача ссылки на место для результата.

именно этот способ есть самый быстрый и гибкий. просто он поперек горла всяким там неадекватам-функциональщикам с их чистыми функциями в теории.

возврат результата из функции бьет все прочие способы только в случае ВОЗВРАТА ЧЕРЕЗ РЕГИСТРЫ!!!. это в принципе возможно даже если возвращать туплы, но тут вопрос к оптимизации кода. но если результаты не лезут в свободные регистры - то будет возврат через стек, и никакие мувы не спасут. они лишь несколько сократят лишние потери.

то есть возврат через туплы, обмазавшись перемещением - это лишние сложности, не имеющие практической пользы, кроме как порадовать двинутых функциональщиков.

Исходная версия alysnix, :

конструктор «перемещения» - все равно копирует. просто копирует меньше, чем полное копирование. разумеется все равно проигрывает возврату значения через адрес - чем и является передача ссылки на место для результата.

именно этот способ есть самый быстрый и гибкий. просто он поперек горла всяким там неадекватам-функциональщикам с их чистыми функциями в теории.

возврат результата из функции бьет все прочие способы только в случае ВОЗВРАТА ЧЕРЕЗ РЕГИСТРЫ!!!. это в принципе возможно даже если возвращать туплы, но тут вопрос к оптимизации кода. но если результаты не лезут в свободные регистры - то будет возврат через стек, и никакие мувы не спасут. они лишь несколько сократят лишние потери.

то есть если есть выбор - возврат через туплы, обмазавшись перемещением - это лишние сложности, не имеющие практической пользы, кроме как порадовать двинутых функциональщиков.