एक मेम से अधिक: Google नेक्सस डिवाइस को बेंचमार्क करने के लिए TheVerge.com का उपयोग करता है

ऐसा प्रतीत होता है कि Google अपने सभी नेक्सस उपकरणों पर वर्कलोड ऑटोमेशन परीक्षण करते समय द वर्ज का होमपेज लोड करता है।

एओएसपी में खोजबीन करना एंड्रॉइड के बारे में नई खोज करने का एक शानदार तरीका है, और इस बार हमें कुछ बहुत ही हास्यास्पद मिला है। कुछ समय के लिए, उपयोगकर्ताओं ने रिपोर्ट किया है वह प्रौद्योगिकी वेबसाइट TheVerge.com मोबाइल उपकरणों पर धीमा प्रदर्शन प्रदान किया गया।

अब उनके श्रेय के लिए, मेरे अनुभव में समय के साथ उनकी वेबसाइट के प्रदर्शन में सुधार हुआ है। इसके अलावा, ऐसा नहीं है कि अन्य साइटों (हमारी अपनी सहित) में ऐसे मुद्दे नहीं हैं जिन पर हम काम करने का प्रयास कर सकते हैं, लेकिन फिर भी मुझे इसमें काफी मनोरंजक लगा कार्यभार बेंचमार्क के आधिकारिक सेट के बाद, Google ने अपने परीक्षण में द वर्ज का उपयोग करने का निर्णय लिया।


एंड्रॉइड वर्कलोड स्वचालन

कार्यभार स्वचालन (WA) द्वारा विकसित एक रूपरेखा है हाथ कई दोहराए जाने योग्य वर्कलोड के एक सूट को निष्पादित करके एंड्रॉइड डिवाइस पर प्रदर्शन डेटा एकत्र करने के लिए। Google इनमें से कई कार्यभार परीक्षण करके और उनका सारांश एकत्र करके अपने उपकरणों पर प्रदर्शन को बेंचमार्क करता है बिजली का उपयोग, जिसे वे फिर एक स्प्रेडशीट में आयात करते हैं यह देखने के लिए कि उनके अनुकूलन ने प्रदर्शन में कैसे सुधार किया है समय। कंपनी चुनती है कि उसके परीक्षण सूट में कौन से ऐप्स शामिल किए जाएं, लेकिन सामान्य तौर पर वे खुद को अधिकांश लोकप्रिय Google ऐप्स तक ही सीमित रखते हैं। यह कैसे काम करता है इसका सार है, लेकिन हम स्रोत कोड से सबूत दिखाएंगे और परीक्षण का वर्णन करेंगे अधिक विवरण में सुइट्स ताकि आप बेहतर तस्वीर प्राप्त कर सकें कि Google मापने के लिए स्वचालित परीक्षण क्या करता है प्रदर्शन।

AOSP के भीतर, एक है निर्देशिका समर्पित कार्यभार स्वचालन परीक्षण के लिए। परीक्षण के लिए उपयोग किए जाने वाले ऐप्स को इसमें परिभाषित किया गया है defs.sh, और आम तौर पर दो श्रेणियों में से एक के अंतर्गत आते हैं: डिफ़ॉल्ट, पूर्व-स्थापित Google ऐप या तृतीय-पक्ष वेब ब्राउज़र। एक बेंचमार्क ऐप बाकियों से अलग है, और वह है 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), मैं बिल्कुल निश्चित नहीं हूं। वैसे भी, यह Chrome-activity-with-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.

अगला, वहाँ है हाल ही में.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, जो क्रोम के प्रदर्शन का सरलता से परीक्षण करता है:

# 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

अंत में, इनमें से प्रत्येक परीक्षण का उपयोग एक निश्चित समय के लिए साइकिल चलाकर वास्तविक विश्व बिजली के उपयोग को मापने के लिए किया जाता है, जैसा कि इसमें परिभाषित किया गया है 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
#

ये सभी काफी सामान्य वास्तविक दुनिया यूआई प्रदर्शन परीक्षण हैं, उन प्रकारों के विपरीत नहीं जिन्हें आप देखते हैं हमारा अपना परीक्षण. ऐसा प्रतीत होता है कि क्रोम खोलते समय द वर्ज के होमपेज को लोड करने का परिवर्तन हाल ही में हुआ था, क्योंकि पिछले साल से पहले Google केवल इन परीक्षणों के दौरान क्रोम में एक नया टैब खोलेगा। में एक बदलाव किया गया 28 मई 2015 हालाँकि, क्रोम का परीक्षण करते समय द वर्ज का उपयोग शुरू किया गया। यह उतना ही मनोरंजक है कि Google वर्कलोड ऑटोमेशन करते समय सभी स्थानों के द वर्ज का उपयोग कर रहा है परीक्षण करते समय, ध्यान रखें कि इसका मतलब यह नहीं है कि द वर्ज वेब के लिए सबसे खराब अपराधी है प्रदर्शन।

वास्तव में, इससे बहुत दूर, विज्ञापन-अवरोधकों की वृद्धि की भरपाई के लिए अधिक से अधिक विज्ञापनों के प्रसार के कारण कई अन्य वेबपेज औसत दर्जे के प्रदर्शन से ग्रस्त हैं। वास्तव में, यह बहुत अधिक संभावना है कि तकनीक को देखते हुए, द वर्ज का उपयोग करने का निर्णय केवल सुविधा के लिए लिया गया निर्णय था एक औसत गूगलर समझदार है और द वर्ज के वेबपेज को लेकर कई उत्साही लोगों के बीच एक मजाक है प्रदर्शन।