Czy istnieją jakieś metody optymalizacji funkcji bądź ustawienie kompilatora, żeby w miejscu wywołania funkcji wstawić jej zawartość a nie wykonywać skoki itp??
Czy to może, w moim kodzie jest jakiś haczyk, że przy użyciu funkcji czas wykonania wynosi 4.8 sec a czysty kod 0.675sec.
Przy okazji zapytam czy jest możliwe wykonanie tego kodu w jednej linijce
A = (AHKObject*) O->A[Row].Value;
return A->A[Item].Value;
unsigned int F(HWND h,AHKObject* Events_O,AHKObject* Col_O) {
int ColCount = Col_O->Item_Num;
int RowCount = Events_O->Item_Num;
int q = 0;
for(int row=0; row<100000000; row++){
AHKObject *A;
A = (AHKObject*) Events_O->A[0].Value; // <-----------------
q += A->A[3].Value; // <--------------------
//q +=RV(Events_O,0,3); // <--------------------
}
return q;
}
int RV(AHKObject *O,int Row, int Item){
AHKObject *A;
A = (AHKObject*) O->A[Row].Value;
return A->A[Item].Value;
}