TG Telegram Group & Channel
Хабр | United States America (US)
Create: Update:

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

Первое, что вы можете подумать: «Да зачем об этом беспокоиться, если пока ничего особенного не произошло». Одна единственная инструкция не превратится в узкое место некоей программы. Но, несмотря на это, просто из интереса можно попробовать решить эту хитрую задачу.

Глупые фокусы: преобразование 32-битного значения в 64-битное, когда неважен мусор в старших битах

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

Первое, что вы можете подумать: «Да зачем об этом беспокоиться, если пока ничего особенного не произошло». Одна единственная инструкция не превратится в узкое место некоей программы. Но, несмотря на это, просто из интереса можно попробовать решить эту хитрую задачу.

Глупые фокусы: преобразование 32-битного значения в 64-битное, когда неважен мусор в старших битах


>>Click here to continue<<

Хабр






Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)