parsedQueryWithInferredParameterType = $entityManager->createQuery($dql); $this->parsedQueryWithDeclaredParameterType = $entityManager->createQuery($dql); foreach (range(1, 10) as $index) { $this->parsedQueryWithInferredParameterType->setParameter('parameter' . $index, new DateTime()); $this->parsedQueryWithDeclaredParameterType->setParameter('parameter' . $index, new DateTime(), DateTimeType::DATETIME); } // Force parsing upfront - we don't benchmark that bit in this scenario $this->parsedQueryWithInferredParameterType->getSQL(); $this->parsedQueryWithDeclaredParameterType->getSQL(); } public function benchExecuteParsedQueryWithInferredParameterType() : void { $this->parsedQueryWithInferredParameterType->execute(); } public function benchExecuteParsedQueryWithDeclaredParameterType() : void { $this->parsedQueryWithDeclaredParameterType->execute(); } }