use SplQueue instead of array, in order to optimize the recycle stream
id performance