Више од мема: Гоогле користи ТхеВерге.цом за бенцхмарк Некус уређаје

Чини се да Гоогле учитава почетну страницу Тхе Верге када врши тестирање аутоматизације радног оптерећења на свим својим Некус уређајима.

Копање по АОСП-у је одличан начин да дођете до нових открића о Андроид-у, а овог пута смо наишли на нешто прилично урнебесно. Неко време, корисници су пријавили да технолошка веб локација ТхеВерге.цом обезбедио споре перформансе на мобилним уређајима.

Њихова заслуга је да су се перформансе њихове веб странице временом побољшале према мом искуству. Осим тога, није као да други сајтови (укључујући и нашу) немају проблема на којима бисмо могли да радимо, али ипак ми је било прилично забавно да званични скуп мерила радног оптерећења, Гоогле је одлучио да користи Тхе Верге у свом тестирању.


Андроид Ворклоад Аутоматион

Аутоматизација радног оптерећења (ВА) је оквир који је развио АРМ за прикупљање података о учинку на Андроид уређајима извршавањем пакета многих поновљивих радних оптерећења. Гоогле мери перформансе на својим уређајима тако што ради многе од ових тестова радног оптерећења и прикупља резиме потрошњу енергије, коју затим увозе у табелу да виде како су њихове оптимизације побољшале перформансе време. Компанија бира и бира које ће апликације укључити у свој тестни пакет, али генерално се ограничавају на већину популарних Гоогле апликација. То је суштина како то функционише, али ми ћемо показати доказе из изворног кода и описати тест комплете детаљније како бисте могли да добијете бољу слику о томе које аутоматске тестове Гоогле ради за мерење перформансе.

У оквиру АОСП-а постоји а директоријум посвећен на тестове аутоматизације радног оптерећења. Апликације које се користе за тестирање су дефинисане у дефс.сх, и генерално спадају у једну од две категорије: подразумевана, унапред инсталирана Гоогле апликација или веб прегледач треће стране. Једна референтна апликација се издваја од осталих, и јесте com.BrueComputing.SunTemple/com.epicgames.ue4.GameActivity за коју претпостављам да се односи на БруеБенцх СТ Рецензент бенцхмарк који је заснован на Унреал Енгине 4.

# default activities. Can dynamically generate with -g.
gmailActivity='com.google.android.gm/com.google.android.gm.ConversationListActivityGmail'
clockActivity='com.google.android.deskclock/com.android.deskclock.DeskClock'
hangoutsActivity='com.google.android.talk/com.google.android.talk.SigningInActivity'
chromeActivity='com.android.chrome/_not_used'
contactsActivity='com.google.android.contacts/com.android.contacts.activities.PeopleActivity'
youtubeActivity='com.google.android.youtube/com.google.android.apps.youtube.app.WatchWhileActivity'
cameraActivity='com.google.android.GoogleCamera/com.android.camera.CameraActivity'
playActivity='com.android.vending/com.google.android.finsky.activities.MainActivity'
feedlyActivity='com.devhd.feedly/com.devhd.feedly.Main'
photosActivity='com.google.android.apps.photos/com.google.android.apps.photos.home.HomeActivity'
mapsActivity='com.google.android.apps.maps/com.google.android.maps.MapsActivity'
calendarActivity='com.google.android.calendar/com.android.calendar.AllInOneActivity'
earthActivity='com.google.earth/com.google.earth.EarthActivity'
calculatorActivity='com.google.android.calculator/com.android.calculator2.Calculator'
calculatorLActivity='com.android.calculator2/com.android.calculator2.Calculator'
sheetsActivity='com.google.android.apps.docs.editors.sheets/com.google.android.apps.docs.app.NewMainProxyActivity'
docsActivity='com.google.android.apps.docs.editors.docs/com.google.android.apps.docs.app.NewMainProxyActivity'
operaActivity='com.opera.mini.native/com.opera.mini.android.Browser'
firefoxActivity='org.mozilla.firefox/org.mozilla.firefox.App'
suntempleActivity='com.BrueComputing.SunTemple/com.epicgames.ue4.GameActivity'
homeActivity='com.google.android.googlequicksearchbox/com.google.android.launcher.GEL'

Ове активности се покрећу преко АДБ командне линије са следећим Систраце опције за мерење учинка апликације:

dflttracecategories="gfx input view am rs power sched freq idle load memreclaim"

Цхроме апликација се посебно покреће са заставицом за учитавање Тхе Верге:

Што се тиче зашто се чини да се тест разликује за волантис (Некус 9), нисам баш сигуран. У сваком случају, кроз које тестове заправо пролази ова Цхроме-активност-са-Верге-ом, можемо утврдити гледајући изворни код тестова аутоматизације радног оптерећења.


Тест Суитес

Прво, ту је системаппс.сх тест, за који Гоогле наводи да функционише као такав:

# Script to start a set of apps in order and then in each iteration
# switch the focus to each one. For each iteration, the time to start
# the app is reported as measured using atrace events and via am ThisTime.
# The output also reports if applications are restarted (eg, killed by
# LMK since previous iteration) or if there were any direct reclaim
# events.

Следеће, ту је рецентфлинг.сх тест, који функционише овако:

# Script to start a set of apps, switch to recents and fling it back and forth.
# For each iteration, Total frames and janky frames are reported.

А онда је ту цхромефлинг.сх, који прилично једноставно тестира перформансе Цхроме-а:

# Script to start 3 chrome tabs, fling each of them, repeat
# For each iteration, Total frames and janky frames are reported.

Још један забаван тест у пакету Ворклоад Аутоматион, иако није повезан са Тхе Верге, јесте иоутубе.сх тест перформанси који мери УИ јанк

#
# Script to play a john oliver youtube video N times.
# For each iteration, Total frames and janky frames are reported.
#
# Options are described below.
#
iterations=10
app=youtube
searchText="last week tonight with john oliver: online harassment"
vidMinutes=15

Коначно, сваки од ових тестова се користи за мерење потрошње енергије у стварном свету тако што се кроз њих пролази одређено време, као што је дефинисано у пвртест.сх:

# Script to gather perf and perf/watt data for several workloads
#
# Setup:
#
# - device connected to monsoon with USB passthrough enabled
# - network enabled (baseline will be measured and subtracted
# from results) (network needed for chrome, youtube tests)
# - the device is rebooted after each test (can be inhibited
# with "-r 0")
#
# Default behavior is to run each of the known workloads for
# 30 minutes gathering both performance and power data.

Гоогле затим може да прикупља ове податке користећи пврсуммари.сх и увезите их у табелу:

# print summary of output generated by pwrtest.sh
#
# default results directories are -[-experiment]. By default
# match any device and the year 201*.
#
# Examples:
#
# - show output for all bullhead tests in july 2015:
# ./pwrsummary.sh -r "bh-201507*"
#
# - generate CSV file for import into spreadsheet:
# ./pwrsummary.sh -o csv
#

Ово су све прилично уобичајени тестови перформанси корисничког интерфејса у стварном свету, за разлику од оних које бисте видели наше сопствено тестирање. Чини се да је промена за учитавање почетне странице Тхе Верге приликом отварања Цхроме-а била прилично недавна, јер је пре прошле године Гоогле само отворио нову картицу у Цхроме-у током ових тестова. Промена направљена у 28. маја 2015 међутим, увео је употребу Тхе Верге-а приликом тестирања Цхроме-а. Колико год забавно било то што Гоогле користи Тхе Верге од свих места када обавља аутоматизацију радног оптерећења тестирања, имајте на уму да то не значи да је Тхе Верге најгори преступник за веб перформансе.

Далеко од тога, у ствари, јер многе друге веб странице пате од осредњих перформанси захваљујући пролиферацији све више и више огласа како би се надокнадило повећање броја блокатора огласа. Заиста, највероватније је да је одлука да се користи Тхе Верге била једноставно из погодности, с обзиром на то како је технологија паметан просечан Гооглеов радник и главна шала многих ентузијаста у вези са веб страницом Тхе Верге перформансе.