Lebih dari sekadar Meme: Google menggunakan TheVerge.com untuk Membandingkan Perangkat Nexus

click fraud protection

Tampaknya Google memuat beranda The Verge saat melakukan pengujian Otomatisasi Beban Kerja pada semua perangkat Nexus-nya.

Menggali AOSP adalah cara yang bagus untuk membuat penemuan baru tentang Android, dan kali ini kami menemukan sesuatu yang lucu. Untuk beberapa waktu, pengguna telah melaporkan bahwa situs web teknologi TheVerge.com memberikan kinerja lambat pada perangkat seluler.

Menurut pengalaman saya, kinerja situs web mereka telah meningkat seiring berjalannya waktu. Selain itu, bukan berarti situs lain (termasuk situs kami) tidak mempunyai masalah yang dapat kami upayakan untuk diatasi, namun tetap saja menurut saya cukup lucu bahwa dalam hal ini, serangkaian tolok ukur beban kerja resmi, Google memutuskan untuk menggunakan The Verge dalam pengujian mereka.


Otomatisasi Beban Kerja Android

Otomatisasi Beban Kerja (WA) adalah kerangka kerja yang dikembangkan oleh LENGAN untuk mengumpulkan data kinerja pada perangkat Android dengan menjalankan serangkaian beban kerja berulang. Google mengukur kinerja perangkat mereka dengan melakukan banyak tes beban kerja ini dan mengumpulkan ringkasannya penggunaan daya, yang kemudian mereka impor ke dalam spreadsheet untuk melihat bagaimana pengoptimalan mereka telah meningkatkan kinerja waktu. Perusahaan memilih aplikasi mana yang akan disertakan dalam rangkaian pengujiannya, tetapi secara umum mereka membatasi diri pada sebagian besar aplikasi Google yang populer. Itulah inti cara kerjanya, tapi kami akan menunjukkan bukti dari kode sumber dan menjelaskan pengujiannya rangkaian secara lebih rinci sehingga Anda bisa mendapatkan gambaran yang lebih baik tentang pengujian otomatis yang dilakukan Google untuk mengukur pertunjukan.

Dalam AOSP, ada a direktori khusus untuk tes otomatisasi beban kerja. Aplikasi yang digunakan untuk pengujian ditentukan dalam defs.sh, dan umumnya termasuk dalam salah satu dari dua kategori: Google App default yang sudah terpasang atau browser web pihak ketiga. Satu aplikasi benchmark menonjol dari yang lain, dan itu memang benar com.BrueComputing.SunTemple/com.epicgames.ue4.GameActivity yang saya asumsikan mengacu pada Pengulas BrueBench ST benchmark yang didasarkan pada Unreal Engine 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'

Aktivitas ini diluncurkan melalui baris perintah ADB dengan yang berikut ini Systrace opsi untuk mengukur kinerja aplikasi:

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

Aplikasi Chrome khususnya diluncurkan dengan tanda untuk memuat The Verge:

Adapun mengapa tes tersebut tampaknya berbeda untuk volantis (Nexus 9), saya tidak begitu yakin. Bagaimanapun, mengenai pengujian apa yang sebenarnya dilakukan oleh aktivitas Chrome dengan The Verge ini, kita dapat menentukannya dengan melihat kode sumber pengujian otomatisasi beban kerja.


Ruang Tes

Yang pertama, ada sistemapps.sh tes, yang menurut Google berfungsi seperti itu:

# 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.

Selanjutnya, ada baru-baru ini.sh tes, yang berfungsi seperti ini:

# 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.

Lalu ada chromefling.sh, yang menguji kinerja Chrome secara sederhana:

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

Tes lucu lainnya dalam rangkaian Workload Automation, meskipun tidak ada hubungannya dengan The Verge, adalah youtube.sh tes kinerja yang mengukur jank UI

#
# 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

Terakhir, masing-masing pengujian ini digunakan untuk mengukur penggunaan daya di dunia nyata dengan melakukan siklus selama jangka waktu tertentu, sebagaimana ditentukan dalam uji pwr.sh:

# 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.

Google kemudian dapat mengumpulkan data ini menggunakan pwrsummary.sh dan mengimpornya ke dalam spreadsheet:

# 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
#

Ini semua adalah tes kinerja UI yang cukup umum di dunia nyata, tidak berbeda dengan tes yang biasa Anda lihat pengujian kita sendiri. Tampaknya perubahan untuk memuat beranda The Verge saat membuka Chrome terjadi baru-baru ini, karena sebelum tahun lalu Google hanya akan membuka tab baru di Chrome selama pengujian ini. Perubahan terjadi 28 Mei 2015 memperkenalkan penggunaan The Verge saat menguji Chrome. Yang lucu adalah bahwa Google menggunakan The Verge di semua tempat saat melakukan Otomatisasi Beban Kerja pengujian, perlu diingat bahwa ini tidak berarti The Verge adalah pelanggar terburuk di dunia web pertunjukan.

Faktanya, banyak laman web lain yang mengalami kinerja biasa-biasa saja karena semakin banyaknya iklan yang digunakan untuk mengimbangi meningkatnya pemblokir iklan. Memang benar, kemungkinan besar keputusan untuk menggunakan The Verge hanyalah karena alasan kenyamanan, mengingat betapa canggihnya teknologi rata-rata Googler yang paham dan menjadi lelucon di antara banyak peminat mengenai laman web The Verge pertunjukan.