Как ускорить цикл Python

Я просмотрел несколько обсуждений на нескольких сайтах, и ни один из них не дал мне решение. Этот фрагмент кода запускается более 5 секунд:

for i in xrange(100000000):
  pass

Я работаю над проблемой целочисленной оптимизации, и мне нужно использовать алгоритм O (n log n) edit: an O (n² / 4) алгоритм, где n обозначает все элементы матрицы, т.е. в следующем коде n * m = 10000. Итак, для матрицы 100 * 100 с 10000 элементами это приведет к почти 25000000 итерациям. .. . Его код можно резюмировать следующим образом:

m = 100
n = 100
for i in xrange(m):
  for j in xrange(n):
    for i2 in xrange(i + 1, m):
      for j2 in xrange(j + 1, n):
        if myarray[i][j] == myarray[i2][j2] and myarray[i2][j] == myarray[i][j2]:
          return [i, j], [i2, j2]

Должен ли я отказаться от Python и вернуться к Java или C?

Я работаю с Python 2.7, а Psyco недоступен. PyPy не поддерживает Tkinter из коробки, и я использую Tkinter.

Так могут ли они улучшить скорость зацикливания? Есть ли другие решения?

15
задан s_xavier 7 January 2012 в 16:58
поделиться