reserve memory before push_back
don't create markers when nobody is listening
improve a comment