Форум программистов, компьютерный форум CyberForum.ru

Оптимизация доступа к памяти - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Counting sort http://www.cyberforum.ru/cpp-beginners/thread1665931.html
объясните пож что это означает. где индекс а где элемент
C++ Запишите рекуррентное уравнение для времени работы этой рекурсивной версии алгоритма сортировки вставкой Как записать рекуррентное уравнение для времени работы . Сортировку вставкой можно представить в виде рекурсивной последовательности следующим образом. Чтобы отсортировать массив A,сначала нужно выполнить сортировку массива A, после чего в этот отсортированный массив помещается элемент A. Запишите рекуррентное уравнение для времени работы этой рекурсивной версии алгоритма сортировки вставкой. http://www.cyberforum.ru/cpp-beginners/thread1665919.html
C++ Вычислить сумму целых частей элементов массива расположенных после последнего отрицательного элемента
Pomogite Pojaluista Вычислить сумму целых частей элементов массива, расположенных после последнего отрицательного элемента
C++ До ввода программа корректно читает данные, после - потоки выдают кракозябр
#include <iostream> #include <conio.h> #include <windows.h> #include <stdio.h> #include<string> #include<fstream> using namespace std; char *del_char(char* s, char c)
C++ Реализовать функцию, удаляющую в строке лидирующие и концевые пробелы http://www.cyberforum.ru/cpp-beginners/thread1665845.html
Удаляет в строке лидирующие и концевые пробелы. Возвращает указатель на преобразованную строку. Пишу впервые на С++ #include "stdafx.h" #include <iostream> void tr(char *s){ int i = 0, j = 0, c=0, k=0; c == strlen(s) / 3; while (s != c){ while (s != ' '){ i++;
C++ Найти в слове две одинаковые буквы В слове имеются только две одинаковые буквы. Найти их.(помогите пожалуйста) подробнее

Показать сообщение отдельно
hoggy
5230 / 2121 / 404
Регистрация: 15.11.2014
Сообщений: 4,812
Завершенные тесты: 1
19.02.2016, 23:21     Оптимизация доступа к памяти
Цитата Сообщение от maxm Посмотреть сообщение
даст ли результат такая замена или компилятор видит что в цыкле адрес ячейки тот же и сам оптимизирует?
нужно смотреть асм-листинги.

но вообще то,код вида:
C++
1
2
3
4
for (size_t i = 0; i < n; ++i)
    for (size_t j = 0; j < n; ++j)
        for (size_t k = 0; k < n; ++k)
            x[i][j] = a[i][k] + b[k][j];
эквивалентен:
C++
1
2
3
4
5
6
7
8
for (size_t i = 0; i < n; ++i)
    for (size_t j = 0; j < n; ++j)
    {
        auto& val = x[i][j];
        auto& ar = a[i];
        for (size_t k = 0; k < n; ++k)
            val = ar[k] + b[k][j];
    }
компиляторы уже давным давно научились
оптимизировать промежуточные вычисления.

поэтому, я бы не стал заморачиваться,
и экономить на спичках.
 
Текущее время: 17:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru