Page MenuHomePhabricator
Paste P36132

Test thumbnail timing
ActivePublic

Authored by EBernhardson on Oct 24 2022, 10:29 PM.
Tags
None
Referenced Files
F35622761: Test thumbnail timing
Oct 24 2022, 10:39 PM
F35622747: Test thumbnail timing
Oct 24 2022, 10:29 PM
Subscribers
None
<?php
$mws = MediaWiki\MediaWikiServices::getInstance();
$engine = $mws->getSearchEngineFactory()->create();
$engine->setFeatureData( 'rewrite', true );
$engine->setLimitOffset( 500, 0 );
$engine->setNamespaces( [ 0, 4, 6 ] );
$engine->setSort( 'relevance' );
$engine->setShowSuggestion( true );
$provider = $mws->getSearchResultThumbnailProvider();
$timing = new Timing();
$query = 'SVG Paris';
$timing->mark( 'pre-query' );
$matches = $engine->searchText( $query )->getValue();
$timing->mark( 'post-query' );
echo "Query timing\n";
var_dump( $timing->measure( 'query', 'pre-query', 'post-query' ) );
$size = MediaWiki\Search\SearchWidgets\FullSearchResultWidget::THUMBNAIL_SIZE;
$thumbLimit = 1000;
$seen = 0;
$timing->mark( 'pre-thumb' );
foreach ( $matches as $hit ) {
$title = $hit->getTitle();
if ( $title === null || !$title->canExist() ) {
continue;
}
if ( $thumbLimit && ++$seen <= $thumbLimit ) {
$provider->getThumbnails( [ $title->getArticleID() => $title ], $size );
}
}
$timing->mark( 'post-thumb' );
echo "Thumb timing:\n";
var_dump( $timing->measure( 'thumbs', 'pre-thumb', 'post-thumb' ) );