string splitting improved performance by allocating only one vector