| 64 | } // namespace |
| 65 | |
| 66 | VectorPtr VectorPool::get(const TypePtr& type, vector_size_t size) { |
| 67 | auto cacheIndex = toCacheIndex(type); |
| 68 | if (cacheIndex >= 0 && size <= kMaxRecycleSize) { |
| 69 | return vectors_[cacheIndex].pop(type, size, *pool_); |
| 70 | } |
| 71 | return BaseVector::create(type, size, pool_); |
| 72 | } |
| 73 | |
| 74 | bool VectorPool::release(VectorPtr& vector) { |
| 75 | if (FOLLY_UNLIKELY(vector == nullptr)) { |