Difunde dos archivos grandes en Python

Tengo dos archivos de texto grandes, cerca de 2GB cada uno. Necesito algo como diff f1.txt f2.txt . ¿Hay alguna manera de hacer esta tarea rápido en python? El difflib estándar es demasiado lento. Supongo que hay una manera más rápida, porque difflib está completamente implementado en Python.

¿Qué tal si usar difflib de manera que su script pueda manejar archivos grandes? No cargue los archivos en la memoria, sino repita los archivos de los archivos y difiera en partes. Por ejemplo, 100 líneas a la vez.

 import difflib d = difflib.Differ() f1 = open('bigfile1') f2 = open('bigfile2') b1 = [] b2 = [] for n, lines in enumerate(zip(f1,f2)): if not (n % 100 == 0): b1.append(lines[0]) b2.append(lines[1]) else: diff = d.compare("".join(b1), "".join(b2)) b1 = [] b2 = [] print ''.join(list(diff)) diff = d.compare("".join(b1), "".join(b2)) print ''.join(list(diff)) f1.close() f2.close()