Came across this interesting pattern in some of the sklearn codebase:
# bind method outside of loop to reduce overhead ngrams_append = ngrams.append for n in range(min_n, min(max_n + 1, text_len + 1)): for i in range(text_len - n + 1): ngrams_append(text_document[i: i + n]) return ngrams
I wonder, at what scale does this really start to make a meaningful performance difference?
Even if it doesn’t make a huge difference, I do find it pretty elegant and easy to follow.