superstring.py is an efficient library for heavy-text manipulation in Python, that achieves a remarkable memory and CPU optimization.
superstring.py uses Rope (data structure) and optimization techniques.
The two plots show the comparison in terms of memory consumption and execution time between superstring.py and python build-in string (the comparison program consists of appending to a list all possible substrings of a 50000 bytes text).
- Fast and Memory-optimized.
- Rich API.
- Similar functionalities to python built-in string
- Easy to embed and use.
- MIT Licence
pip install superstring
How to use
from superstring import SuperString string1 = SuperString(" This is ") string2 = SuperString("SuperString! ") # concatenation string = string1 + string2 # " This is SuperString! " # print print(string) # length len(string) string.length() # character string # "S" string.characterAt(10) # "S" # substring string[10:21] # "SuperString" string.substring(10, 21) # "SuperString" # strip string.strip() # "This is SuperString!" # lower string.lower() # " this is superstring! " # upper string.upper() # " THIS IS SUPERSTRING! "
- Optimize even more (I think it's possible
- Support for negative indexing
- More benchmark and memory profiling
Contribute and support