Φαίνεται ότι η Google φορτώνει την αρχική σελίδα του The Verge όταν εκτελεί δοκιμές αυτοματισμού φόρτου εργασίας σε όλες τις συσκευές Nexus της.
Το σκάψιμο στο AOSP είναι ένας πολύ καλός τρόπος για να κάνετε νέες ανακαλύψεις για το Android και αυτή τη φορά συναντήσαμε κάτι αρκετά ξεκαρδιστικό. Για κάποιο χρονικό διάστημα, χρήστες έχουν αναφέρει ότι ο ιστότοπος τεχνολογίας TheVerge.com παρείχε αργή απόδοση σε κινητές συσκευές.
Τώρα προς τιμή τους, η απόδοση του ιστότοπού τους έχει βελτιωθεί με την πάροδο του χρόνου σύμφωνα με την εμπειρία μου. Επιπλέον, δεν είναι ότι άλλοι ιστότοποι (συμπεριλαμβανομένου του δικού μας) δεν έχουν προβλήματα στα οποία μπορούμε να προσπαθήσουμε να δουλέψουμε, αλλά παρόλα αυτά μου φάνηκε αρκετά διασκεδαστικό το γεγονός ότι επίσημο σύνολο σημείων αναφοράς φόρτου εργασίας, η Google αποφάσισε να χρησιμοποιήσει το The Verge στις δοκιμές τους.
Αυτοματισμός φόρτου εργασίας Android
Αυτοματισμός φόρτου εργασίας (WA) είναι ένα πλαίσιο που αναπτύχθηκε από ΜΠΡΑΤΣΟ για τη συλλογή δεδομένων απόδοσης σε συσκευές Android με την εκτέλεση μιας σουίτας πολλών επαναλαμβανόμενων φόρτων εργασίας. Η Google αξιολογεί την απόδοση στις συσκευές της κάνοντας πολλές από αυτές τις δοκιμές φόρτου εργασίας και συλλέγοντας μια περίληψη χρήση ενέργειας, το οποίο στη συνέχεια εισάγουν σε ένα υπολογιστικό φύλλο για να δουν πώς οι βελτιστοποιήσεις τους έχουν βελτιώσει την απόδοση χρόνος. Η εταιρεία επιλέγει και επιλέγει ποιες εφαρμογές θα συμπεριλάβει στη δοκιμαστική σουίτα, αλλά γενικά περιορίζονται στις περισσότερες από τις δημοφιλείς εφαρμογές Google. Αυτή είναι η ουσία του πώς λειτουργεί, αλλά θα δείξουμε τα στοιχεία από τον πηγαίο κώδικα και θα περιγράψουμε τη δοκιμή σουίτες με περισσότερες λεπτομέρειες, ώστε να μπορείτε να έχετε μια καλύτερη εικόνα των αυτοματοποιημένων δοκιμών που κάνει η Google για να μετρήσει εκτέλεση.
Εντός του AOSP υπάρχει α αφιερωμένος κατάλογος στις δοκιμές αυτοματισμού φόρτου εργασίας. Οι εφαρμογές που χρησιμοποιούνται για τη δοκιμή ορίζονται στο defs.sh, και γενικά εμπίπτουν σε μία από τις δύο κατηγορίες: προεπιλογή, προεγκατεστημένη εφαρμογή Google ή πρόγραμμα περιήγησης ιστού τρίτου μέρους. Μία εφαρμογή αναφοράς ξεχωρίζει από τις υπόλοιπες, και είναι com.BrueComputing.SunTemple/com.epicgames.ue4.GameActivity
που υποθέτω ότι αναφέρεται στο Κριτής BrueBench ST σημείο αναφοράς που βασίζεται στο 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'
Αυτές οι δραστηριότητες ξεκινούν μέσω της γραμμής εντολών ADB με τα ακόλουθα Systrace επιλογές για τη μέτρηση της απόδοσης της εφαρμογής:
dflttracecategories="gfx input view am rs power sched freq idle load memreclaim"
Η εφαρμογή Chrome συγκεκριμένα εκκινείται με μια σημαία για τη φόρτωση του The Verge:
Όσο για το γιατί το τεστ φαίνεται να διαφέρει για το βολάντης (Nexus 9), δεν είμαι ακριβώς σίγουρος. Εν πάση περιπτώσει, όσον αφορά τις δοκιμές στις οποίες πραγματικά περνά αυτή η δραστηριότητα Chrome-με-The-Verge, μπορούμε να προσδιορίσουμε εξετάζοντας τον πηγαίο κώδικα των δοκιμών αυτοματισμού φόρτου εργασίας.
Δοκιμαστικές Σουίτες
Πρώτα, υπάρχει το systemapps.sh δοκιμή, η οποία σύμφωνα με την Google λειτουργεί ως εξής:
# 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.
Στη συνέχεια, υπάρχει το πρόσφαταfling.sh δοκιμή, η οποία λειτουργεί ως εξής:
# 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.
Και μετά υπάρχει chromefling.sh, που δοκιμάζει την απόδοση του Chrome μάλλον απλά:
# Script to start 3 chrome tabs, fling each of them, repeat
# For each iteration, Total frames and janky frames are reported.
Ένα άλλο διασκεδαστικό τεστ στη σουίτα Workload Automation, αν και δεν σχετίζεται με το The Verge, είναι το youtube.sh Δοκιμή απόδοσης που μετρά τα 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
Τέλος, καθεμία από αυτές τις δοκιμές χρησιμοποιείται για τη μέτρηση της κατανάλωσης ενέργειας του πραγματικού κόσμου περνώντας μέσα από αυτές για ορισμένο χρονικό διάστημα, όπως ορίζεται στο pwrtest.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 μπορεί να συλλέξει αυτά τα δεδομένα χρησιμοποιώντας pwrsummary.sh και να τα εισαγάγετε σε ένα υπολογιστικό φύλλο:
# 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
#
Όλα αυτά είναι αρκετά κοινά τεστ απόδοσης διεπαφής χρήστη του πραγματικού κόσμου, όχι σε αντίθεση με τα είδη που θα βλέπατε τη δική μας δοκιμή. Φαίνεται ότι η αλλαγή στη φόρτωση της αρχικής σελίδας του The Verge κατά το άνοιγμα του Chrome ήταν μάλλον πρόσφατη, καθώς πριν από πέρυσι η Google άνοιγε μια νέα καρτέλα στο Chrome μόνο κατά τη διάρκεια αυτών των δοκιμών. Μια αλλαγή που έγινε στο 28 Μαΐου 2015 Ωστόσο, εισήγαγε τη χρήση του The Verge κατά τη δοκιμή του Chrome. Όσο διασκεδαστικό κι αν είναι το γεγονός ότι η Google χρησιμοποιεί το The Verge of all μέρη κατά την εκτέλεση της αυτοματοποίησης φόρτου εργασίας δοκιμές, να έχετε κατά νου ότι αυτό δεν σημαίνει ότι το The Verge είναι ο χειρότερος παραβάτης που υπάρχει στον ιστό εκτέλεση.
Μακριά από αυτό, στην πραγματικότητα, καθώς πολλές άλλες ιστοσελίδες υποφέρουν από μέτρια απόδοση χάρη στον πολλαπλασιασμό ολοένα και περισσότερων διαφημίσεων για να αντισταθμιστεί η άνοδος των αποκλειστών διαφημίσεων. Πράγματι, είναι πολύ πιθανό η απόφαση να χρησιμοποιήσετε το The Verge ήταν απλώς μια από βολική απόφαση, δεδομένης της τεχνολογίας έξυπνος είναι ο μέσος υπάλληλος της Google και το εσωτερικό αστείο μεταξύ πολλών ενθουσιωδών σχετικά με την ιστοσελίδα του The Verge εκτέλεση.