by value/by ref на x64. Оптимизация.
От: kvasya  
Дата: 24.04.15 15:40
Оценка:
Привет.

x64, какая из реализаций более эффективна на ваш взгляд? более предпочтительна? Ваше мнение.

Спасибо.

void f() {
    // 1 вариант
    int64_t some_position = 0;
    calculate_new_position(&some_position);
}

void calculate_new_position(int64_t* position) {
    *position += some_offset;
}



void h() {
    // 2 вариант
    int64_t some_position = 0;
    int64_t new_position = get_new_position_after(some_position);

    // 2.1 вариант
    int64_t new_position = get_new_position_after_with_ref(some_position);
}

int64t_ get_new_position_after(const int64_t aposition) {
    int64_t position = aposition;
    for(int i = 0; i < 1000; ++i)
        position += some_offset;
    return position;
}

int64t_ get_new_position_after_with_ref(const int64_t& aposition) {
    int64_t position = aposition;
    for(int i = 0; i < 1000; ++i)
        position += some_offset;
    return position;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.