generateCharlist
is called the first time, that string is generated and inserted into the mem
table, the next time it runs with the exact same param as the first call, it will use the pre-generated value rather than having to spend the time generating it again.