Если вам не нужны подстроки, чем простая
>>> 'a short sized string with spaces '.split()
Производительность:
>>> s = " ('a short sized string with spaces '*100).split() "
>>> t = timeit.Timer(stmt=s)
>>> print "%.2f usec/pass" % (1000000 * t.timeit(number=100000)/100000)
171.39 usec/pass
Или строковый модуль
>>> from string import split as stringsplit;
>>> stringsplit('a short sized string with spaces '*100)
Производительность: Строковый модуль работает лучше, чем строковые методы
>>> s = "stringsplit('a short sized string with spaces '*100)"
>>> t = timeit.Timer(s, "from string import split as stringsplit")
>>> print "%.2f usec/pass" % (1000000 * t.timeit(number=100000)/100000)
154.88 usec/pass
Или вы можете использовать двигатель RE
>>> from re import split as resplit
>>> regex = '\s+'
>>> medstring = 'a short sized string with spaces '*100
>>> resplit(regex, medstring)
Производительность
>>> s = "resplit(regex, medstring)"
>>> t = timeit.Timer(s, "from re import split as resplit; regex='\s+'; medstring='a short sized string with spaces '*100")
>>> print "%.2f usec/pass" % (1000000 * t.timeit(number=100000)/100000)
540.21 usec/pass
Для очень длинных строк не следует загружать всю строку в память и вместо этого либо разбивать строки, либо использовать итеративный цикл