Exemple #1
0
 public function benchmark($mainCategoryNum, $subCategoryNum, $productsNum)
 {
     $totalIterations = $mainCategoryNum * $subCategoryNum * $productsNum;
     $this->setupDummyData($mainCategoryNum, $subCategoryNum, $productsNum);
     Product::enableLazyLoading();
     Category::enableLazyLoading();
     $time = microtime(true);
     $products = Product::find();
     /** @var Product $product */
     foreach ($products as $product) {
         $subCategory = $product->getCategory();
         if ($subCategory) {
             $mainCategory = $subCategory->getCategory();
         }
         $productName = $product->getName();
     }
     echo $totalIterations . ' iterations with Lazy Loading enabled: ' . (microtime(true) - $time) . PHP_EOL;
     Product::disableLazyLoading();
     Category::disableLazyLoading();
     $time = microtime(true);
     $products = Product::find();
     /** @var Product $product */
     foreach ($products as $product) {
         $product->map();
         $subCategory = $product->getCategory();
         if ($subCategory) {
             $subCategory->map();
             $mainCategory = $subCategory->getCategory();
         }
         $productName = $product->getName();
     }
     echo $totalIterations . ' iterations with Lazy Loading disabled: ' . (microtime(true) - $time) . PHP_EOL;
 }
 public static function setUpBeforeClass()
 {
     foreach (Category::find() as $category) {
         $category->delete();
     }
     foreach (Product::find() as $product) {
         $product->delete();
     }
 }
Exemple #3
0
 public function setUp()
 {
     foreach (Category::find() as $category) {
         $category->delete();
     }
     foreach (Product::find() as $product) {
         $product->delete();
     }
     // disable cache
     $this->odmMappingCache = Di::getDefault()->get('odmMappingCache');
     Di::getDefault()->remove('odmMappingCache');
 }