def get_diff_google(a, b):
    """Возвращает различия между строками ``a`` и ``b`` в виде списка.
    Каждый элемент списка — кортеж из двух элментов, который показывает
    действие, которое нужно применить к ``a``, чтобы получить ``b``:

    - ``('=', длина)`` — кусок указанной длины одинаков для ``a`` и ``b``

    - ``('+', 'кусок')`` — этот кусок добавлен в новом тексте

    - ``('-', 'кусок')`` — этот кусок удалён из старого текста

    Используется ``google-diff-match-patch``, который быстрый, но даёт
    не самые красивые диффы.
    """
    import diff_match_patch
    ia = 0
    ib = 0
    result = []
    for op, l in diff_match_patch.diff(a, b, timelimit=20, checklines=False):
        if op == '=':
            assert a[ia:ia + l] == b[ib:ib + l]
            result.append(('=', l))
            ia += l
            ib += l
        elif op == '-':
            result.append(('-', a[ia:ia + l]))
            ia += l
        elif op == '+':
            result.append(('+', b[ib:ib + l]))
            ib += l
    return result
