C: Что быстрее, доступ к глобальной переменной или передача указателя на функцию

Сейчас я переписываю одну из своих программ. Он имеет сильно рекурсивную функцию, которая решает пасьянс с привязкой:

int solve(int draw) {
  if (finished())
    return true;

  //loop over every possible move (about 76 long values)
  //do a move (access the board, which is a long value)
  if (solve(draw + 1))
    return true;

  return false;
}

Так что мне было интересно, быстрее ли использовать решение вроде этого:

solve(int draw, long **moves, long *board) {}

На данный момент ходы и доска являются глобальными переменными.

Конечно, я собираюсь проверить это, но если кто-то скажет мне, что это не t будет эффективным, я сэкономлю время :).

с уважением

5
задан imbaer 7 July 2011 в 16:12
поделиться