code: func newTxPriorityQueue(reserve int, sortByFee bool) *txPriorityQueue {
  	pq := &txPriorityQueue{
  		items: make([]*txPrioItem, 0, reserve),
  	}
  	if sortByFee {
  		pq.SetLessFunc(txPQByFee)
  	} else {
  		pq.SetLessFunc(txPQByPriority)
  	}
  	return pq
  }
docs: // newTxPriorityQueue returns a new transaction priority queue that reserves the
  // passed amount of space for the elements.  The new priority queue uses either
  // the txPQByPriority or the txPQByFee compare function depending on the
  // sortByFee parameter and is already initialized for use with heap.Push/Pop.
  // The priority queue can grow larger than the reserved space, but extra copies
  // of the underlying array can be avoided by reserving a sane value.