speedup, less memory