Как поразить кеш? - PullRequest
       12

Как поразить кеш?

0 голосов
/ 14 октября 2019

Я использую tdm64 / mingw32. Допустим, у меня есть класс с конструктором:

class test{
  int number;
  int dependent;
  test( int set_number){
    number = set_number;
    dependent = some_function(number);
  }
}

Будет ли код быстрее, если я переключусь на:

dependent = some_function(set_number);

И если мне понадобятся некоторые объяснения. В основном, первый вариант должен ждать с вызовом функции, пока номер не будет отправлен обратно в ОЗУ? Или нужно ждать, потому что очередь инструкций частично пуста, ожидая еще не вычисленной, но переменной? Номер возвращен для работы из кеша? L1? L2? L3? Придется ли ждать несколько ИПЦ или только один? Какие инструкции по сборке будут сгенерированы из этих двух следующих строк?

number = set_number;
dependent = some_function(number);

Какой тип инструкции по сборке будет создан для назначения номера, а затем для обработки отправки номера для некоторой операции в функции? Что если у меня будет несколько подобных ситуаций, смешанных с операциями с массивами в середине?

...