added a cache to reuse queue nodes to minimize malloc() calls in benchmark code