Питонотсос. Расшифровать нативным модулем быстрее, чем перевернуть дверды.
Мой вариант:
def reverse(data):
assert len(data) % 4 == 0, "Data length must be multiple of 4 but is %s" % len(data)
b = bytearray(data)
for x in xrange(0, len(data), 4):
b[0+x], b[1+x], b[2+x], b[3+x] = b[3+x], b[2+x], b[1+x], b[0+x]
return b
В 2 раза быстрее, но все равно это 3,5 секунды на 10 метров, когда винт у меня читает под 50 в секунду.
reclosedev, я все делаю так. Код выглядит так:
reverse(decrypt(reverse))
Даже если я struct-ом прочитаю, второй раз придется руками, да и не факт, что это сильно ускорит - скорость ниже нужной больше, чем на порядок.