მეტი ვიდრე Meme: Google იყენებს TheVerge.com-ს Nexus მოწყობილობების საორიენტაციოდ

როგორც ჩანს, Google ატვირთავს The Verge-ის მთავარ გვერდს, როდესაც ახორციელებს სამუშაო დატვირთვის ავტომატიზაციის ტესტირებას მის ყველა Nexus მოწყობილობაზე.

AOSP-ში გათხრა შესანიშნავი გზაა Android-ის შესახებ ახალი აღმოჩენების გასაკეთებლად და ამჯერად ჩვენ შევხვდით რაღაც საკმაოდ მხიარულს. გარკვეული პერიოდის განმავლობაში, მომხმარებლებმა განაცხადეს რომ ტექნოლოგიების ვებგვერდი TheVerge.com უზრუნველყოფილი ნელი შესრულება მობილური მოწყობილობებისთვის.

ახლა მათი დამსახურებაა, მათი ვებსაიტის შესრულება დროთა განმავლობაში გაუმჯობესდა ჩემი გამოცდილებით. გარდა ამისა, თითქოს სხვა საიტებს (მათ შორის ჩვენს საიტებს) არ აქვთ პრობლემები, რომლებზეც ჩვენ შეგვიძლია ვიმუშაოთ, მაგრამ მაინც საკმაოდ სახალისო აღმოვაჩინე, რომ სამუშაო დატვირთვის ეტალონების ოფიციალური ნაკრები, Google-მა გადაწყვიტა გამოეყენებინა The Verge მათ ტესტირებაში.


Android-ის დატვირთვის ავტომატიზაცია

დატვირთვის ავტომატიზაცია (WA) არის ჩარჩო მიერ შემუშავებული ARM Android მოწყობილობებზე მუშაობის მონაცემების შესაგროვებლად მრავალი განმეორებადი დატვირთვის ნაკრების შესრულებით. Google აფასებს ეფექტურობას თავის მოწყობილობებზე ამ სამუშაო დატვირთვის მრავალი ტესტის გაკეთებით და შეჯამების შეგროვებით ენერგიის მოხმარება, რომელიც მათ შემდეგ იმპორტირებენ ცხრილებში, რათა დაინახონ, თუ როგორ გააუმჯობესა მათმა ოპტიმიზაციამ შესრულება დრო. კომპანია ირჩევს და ირჩევს რომელი აპლიკაციები შეიტანოს მის სატესტო პაკეტში, მაგრამ ზოგადად ისინი შემოიფარგლებიან Google-ის პოპულარული აპების უმეტესობით. ეს არის მისი მუშაობის არსი, მაგრამ ჩვენ ვაჩვენებთ მტკიცებულებებს წყაროს კოდიდან და აღვწერთ ტესტს კომპლექტები უფრო დეტალურად, ასე რომ თქვენ შეგიძლიათ მიიღოთ უკეთესი სურათი იმის შესახებ, თუ რა ავტომატიზირებულ ტესტებს აკეთებს Google გასაზომად შესრულება.

AOSP-ში არის ა გამოყოფილი დირექტორია სამუშაო დატვირთვის ავტომატიზაციის ტესტებზე. აპლიკაციები, რომლებიც გამოიყენება ტესტირებისთვის, მითითებულია დეფს.შდა ზოგადად მიეკუთვნება ორ კატეგორიას: ნაგულისხმევი, წინასწარ დაინსტალირებული 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.

შემდეგი, აქ არის ბოლოდროინდელი.შ ტესტი, რომელიც მუშაობს შემდეგნაირად:

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

და მერე არის ქრომოფლინგი.შ, რომელიც ამოწმებს Chrome-ის მუშაობას საკმაოდ მარტივად:

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

სამუშაო დატვირთვის ავტომატიზაციის კომპლექტის კიდევ ერთი სახალისო ტესტი, თუმცა არ არის დაკავშირებული The Verge-თან, არის ის youtube.sh შესრულების ტესტი, რომელიც ზომავს UI jank-ს

#
# 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.შ და შემოიტანეთ ისინი ცხრილებში:

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

ეს ყველაფერი საკმაოდ გავრცელებულია რეალურ სამყაროში ინტერფეისის მუშაობის ტესტები, განსხვავებით იმ ტიპებისგან, რომლებსაც თქვენ ნახავთ ჩვენი საკუთარი ტესტირება. როგორც ჩანს, Chrome-ის გახსნისას The Verge-ის საწყისი გვერდის ჩატვირთვის ცვლილება საკმაოდ უახლესი იყო, რადგან გასულ წელს Google ამ ტესტების დროს მხოლოდ ახალ ჩანართს ხსნიდა Chrome-ში. შეტანილი ცვლილება 2015 წლის 28 მაისი თუმცა, შემოიღო The Verge-ის გამოყენება Chrome-ის ტესტირებისას. რამდენადაც სახალისოა, რომ Google იყენებს ყველა ადგილის ზღვარს სამუშაო დატვირთვის ავტომატიზაციის შესრულებისას ტესტირება, გახსოვდეთ, რომ ეს არ ნიშნავს იმას, რომ The Verge არის ყველაზე უარესი დამნაშავე ინტერნეტში შესრულება.

სინამდვილეში, ეს შორს არის, რადგან ბევრი სხვა ვებ გვერდი განიცდის უღიმღამო შესრულებას უფრო და უფრო მეტი რეკლამის გამრავლების გამო, რეკლამის ბლოკატორების ზრდის კომპენსაციის მიზნით. მართლაც, სავარაუდოა, რომ The Verge-ის გამოყენების გადაწყვეტილება უბრალოდ მოხერხებული იყო, იმის გათვალისწინებით, თუ რამდენად ტექნიკური საზრიანი საშუალო გუგლის მუშაკი და შინაგანი ხუმრობა ბევრ ენთუზიასტს შორის The Verge-ს ვებგვერდთან დაკავშირებით შესრულება.