মাপকাঠি
সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | মুক্তির প্রার্থী | বিটা রিলিজ | আলফা রিলিজ |
---|---|---|---|---|
7 আগস্ট, 2024 | 1.2.4 | 1.3.0-rc01 | - | - |
নির্ভরতা ঘোষণা করা
বেঞ্চমার্কের উপর নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য Google এর Maven সংগ্রহস্থল পড়ুন।
ম্যাক্রোবেঞ্চমার্ক
আপনার প্রকল্পে ম্যাক্রোবেঞ্চমার্ক ব্যবহার করতে, আপনার macrobenchmark মডিউলের জন্য আপনার build.gradle
ফাইলে নিম্নলিখিত নির্ভরতা যোগ করুন:
গ্রোভি
dependencies { androidTestImplementation "androidx.benchmark:benchmark-macro-junit4:1.2.4" }
কোটলিন
dependencies { androidTestImplementation("androidx.benchmark:benchmark-macro-junit4:1.2.4") }
মাইক্রোবেঞ্চমার্ক
আপনার প্রোজেক্টে মাইক্রোবেঞ্চমার্ক ব্যবহার করতে, আপনার মাইক্রোবেঞ্চমার্ক মডিউলের জন্য আপনার build.gradle
ফাইলে নিম্নলিখিত নির্ভরতা যোগ করুন:
গ্রোভি
dependencies { androidTestImplementation "androidx.benchmark:benchmark-junit4:1.2.4" } android { ... defaultConfig { ... testInstrumentationRunner "androidx.benchmark.junit4.AndroidBenchmarkRunner" } }
কোটলিন
dependencies { androidTestImplementation("androidx.benchmark:benchmark-junit4:1.2.4") } android { ... defaultConfig { ... testInstrumentationRunner = "androidx.benchmark.junit4.AndroidBenchmarkRunner" } }
মাইক্রোবেঞ্চমার্ক লাইব্রেরি আপনার মাইক্রোবেঞ্চমার্ক মডিউলের সাথে ব্যবহার করার জন্য একটি গ্রেডল প্লাগইনও প্রদান করে। এই প্লাগইনটি মডিউলের জন্য বিল্ড কনফিগারেশন ডিফল্ট সেট করে, হোস্টে বেঞ্চমার্ক আউটপুট কপি সেট আপ করে এবং ./gradlew lockClocks
টাস্ক প্রদান করে।
প্লাগইন ব্যবহার করতে, আপনার শীর্ষ-স্তরের build.gradle
ফাইলে `plugins` ব্লকে নিম্নলিখিত লাইনটি অন্তর্ভুক্ত করুন:
গ্রোভি
plugins { id 'androidx.benchmark' version '1.2.4' apply false }
কোটলিন
plugins { id("androidx.benchmark") version "1.2.4" apply false }
তারপর প্লাগইনটি আপনার বেঞ্চমার্ক মডিউলের build.gradle
ফাইলে প্রয়োগ করুন
গ্রোভি
plugins { id 'androidx.benchmark' }
কোটলিন
plugins { id("androidx.benchmark") }
প্রতিক্রিয়া
আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
সংস্করণ 1.3
সংস্করণ 1.3.0-rc01
7 আগস্ট, 2024
androidx.benchmark:benchmark-*:1.3.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-rc01-এ এই কমিট রয়েছে।
বাগ ফিক্স
-
androidx.benchmark.cpuEventCounter
অ-নির্দেশনামূলক ইভেন্টগুলির জন্য দুর্নীতিগ্রস্ত মান তৈরি করে ( I7386a , b/286306579 ) ঠিক করুন - মেট্রিক অগ্রাধিকার ক্রমকে সম্মান করতে
resumeTiming
/runWithTimingDisabled
ঠিক করুন এবং উচ্চ অগ্রাধিকার মেট্রিক ফলাফলে নিম্ন অগ্রাধিকার মেট্রিক পজ/রিজুমের প্রভাব উল্লেখযোগ্যভাবে কমিয়ে দিন। উদাহরণ স্বরূপ,cpuEventCounter.enable
ইন্সট্রুমেন্টেশন আর্গুমেন্টের মাধ্যমে cpu perf কাউন্টার ব্যবহার করলে, বিরতি/পুনরায় শুরু হলে টাইমএন আর উল্লেখযোগ্যভাবে হ্রাস পায় না। ( I39c2e , b/286306579 , b/307445225 ) - স্ট্যাক স্যাম্পলিং এর সম্ভাবনা হ্রাস করা হয়েছে যার ফলে মেইন থ্রেডের হার্ড টাইমআউট স্ট্যাক স্যাম্পলিং কনভার্সনকে প্রধান থ্রেডের বাইরে সরিয়ে দিয়ে
measureRepeatedOnMainThread
আঘাত করা হতে পারে। ( I487a8 , b/342237318 ) - নতুন প্ল্যাটফর্ম API-এ অ্যাক্সেসের ম্যানুয়াল রূপরেখা সরানো হয়েছে যেহেতু AGP 7.3 বা তার পরে (যেমন R8 সংস্করণ 3.3) এবং AGP 8.1 বা তার পরবর্তী (যেমন D8 সংস্করণ 8.1) ব্যবহার করার সময় R8 ব্যবহার করার সময় এটি স্বয়ংক্রিয়ভাবে API মডেলিংয়ের মাধ্যমে ঘটে। যে সকল ক্লায়েন্ট AGP ব্যবহার করছেন না তাদের D8 সংস্করণ 8.1 বা তার পরবর্তী সংস্করণে আপডেট করার পরামর্শ দেওয়া হচ্ছে। আরো বিস্তারিত জানার জন্য এই নিবন্ধটি দেখুন. ( I9496c , b/345472586 )
- instr arg হিসাবে প্যাকেজের নাম পাঠাতে agp সংস্করণ চেক যোগ করা হয়েছে। AGP 8.4.0 এর পূর্বে লক্ষ্য অ্যাপ প্যাকেজের নাম ইন্সট্রুমেন্টেশন আর্গুমেন্টের মাধ্যমে ইন্সট্রুমেন্টেশন অ্যাপে পাঠানো যাবে না। ( 0c72a3f )
সংস্করণ 1.3.0-beta02
10 জুলাই, 2024
androidx.benchmark:benchmark-*:1.3.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-beta02-এ এই কমিট রয়েছে।
বাগ ফিক্স
- একটি সতর্কতা লগ করার জন্য Perfetto শুরু করার সময় EXITCODE
2
সুন্দরভাবে পরিচালনা করুন, কিন্তু এগিয়ে যান।
সংস্করণ 1.3.0-beta01
জুন 12, 2024
androidx.benchmark:benchmark-*:1.3.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-beta01-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
- সামঞ্জস্যের জন্য
MethodTracing.affectsMeasurementOnThisDevice
কেAFFECTS_MEASUREMENT_ON_THIS_DEVICE
এ পুনঃনামকরণ করা হয়েছে। ( আই১বিডিএফএ ) - মাইক্রোবেঞ্চমার্কে ডেড কোড নির্মূল রোধ করতে পরীক্ষামূলক
BlackHole.consume()
api যোগ করা হয়েছে। ( if6812 , b/286091643 ) - মাইক্রোবেঞ্চমার্ক এখন সঠিকভাবে নিক্ষেপ করবে যাতে মেথড ট্রেসিং পরিমাপের সাথে হস্তক্ষেপ না হয়। এটি কিছু ডিভাইসে ঘটে যখন মেথড ট্রেসিং জোরপূর্বক চালু করা হয় (ইনস্ট্রুমেন্টেশন আর্গস বা
MicrobenchmarkConfig
এর মাধ্যমে), এবং যদি মেথড ট্রেস করার পরে একটি পরিমাপ করার চেষ্টা করা হয়। প্রভাবিত ডিভাইসগুলি API 26-30 বা নির্দিষ্ট ART মেইনলাইন মডিউল সংস্করণ চালাচ্ছে যা এই হস্তক্ষেপ দ্বারা প্রভাবিত হয়েছে এবংProfilerConfig.MethodTracing.affectsMeasurementOnThisDevice
এর মাধ্যমে রানটাইমে সনাক্ত করা যেতে পারে। ( Iafb92 , b/303660864 )
বাগ ফিক্স
- বাম্পড ম্যাক্স এজিপি সংস্করণ 9.0.0-আলফা01-এ সুপারিশ করা হয়েছে। ( I5bbb0 )
- বেঞ্চমার্ক প্রসঙ্গে সংকলন মোড যোগ করা হয়েছে ( If5612 , b/325512900 )
- ডিফল্টরূপে AIDL ট্রেসিং সক্ষম করুন (এপিআই 28 প্রয়োজন) ( Ia0af2 , b/341852305 )
- JSON আউটপুটে বেঞ্চমার্ক প্রসঙ্গে অতিরিক্ত তথ্য যোগ করা হয়েছে:
-
context.artMainlineVersion
- আর্ট মেইনলাইন মডিউলের পূর্ণসংখ্যা সংস্করণ (যদি ডিভাইসে থাকে, -1 অন্যথায়) -
context.build.id
-android.os.Build.ID
সমান -
context.build.version.codename
-android.os.Build.VERSION.CODENAME
এর সমান -
context.build.version.abbreviatedCodename
- প্রাক-রিলিজ কোডনামের প্রথম অক্ষরের সাথে মিলে যায় ( এমনকি রিলিজ বিল্ডেও)
-
-
androidx.benchmark.profiling.sampleDurationSeconds
( Ib1d53 ) কে সম্মান করার জন্যStackSampling
সংশোধন করে -
api()
হতে macro->সাধারণ নির্ভরতা পরিবর্তন করুন, যাতে এটি ব্যবহার করা সহজ যেমনPerfettoTrace
এবংPerfettoConfig
। ( Icdae3 , b/341851833 ) - নিশ্চিত করুন
mergeArtProfile
এবংmergeStartupProfile
কাজগুলি সর্বদা বেসলাইন প্রোফাইল তৈরির জন্য অপেক্ষা করে৷ ( I623d6 , b/343086054 ) - বৈকল্পিক সক্ষম করা উচিত কিনা তা সিদ্ধান্ত নেওয়ার সময় বৈকল্পিক সক্ষম অবস্থা বিবেচনা করুন৷ ( I5d19e , b/343249144 )
- পারফেটো ট্রেস প্রসেসরের জন্য বর্ধিত ডিফল্ট শুরুর সময়সীমা। ( I87e8c , b/329145808 )
সংস্করণ 1.3.0-alpha05
14 মে, 2024
androidx.benchmark:benchmark-*:1.3.0-alpha05
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha05-এ এই কমিট রয়েছে।
বাগ ফিক্স
- ম্যাক্রোবেঞ্চ মেট্রিক সমস্ত পুনরাবৃত্তির জন্য শূন্য মান প্রদান করলে স্পষ্ট ব্যতিক্রম ছুঁড়ে দিন ( Iab58f , b/314931695 )
- শ্রোতা নিয়ম এবং অন্যান্য পর্যবেক্ষণ করা সতর্কতা/ত্রুটির সমর্থন সহ মাইক্রোবেঞ্চ প্রোগার্ড নিয়মগুলিতে অতিরিক্ত সমাধানের নিয়মগুলি যোগ করা হয়েছে। ( I14d8f , b/329126308 , b/339085669 )
- মেথড ট্রেসিং একটি ম্যাক্রোবেঞ্চমার্কের সময় একটি পৃথক ফেজ হিসাবে চলে এবং এটি আর পরিমাপকে প্রভাবিত করে না। ( if9a50 , b/285912360 , b/336588271 )
- শেডার সম্প্রচার ব্যর্থতার বার্তা ড্রপ করতে অতিরিক্ত ডিবাগিং পরামর্শ যোগ করা হয়েছে। ( I5efa6 , b/325502725 )
সংস্করণ 1.3.0-alpha04
1 মে, 2024
androidx.benchmark:benchmark-*:1.3.0-alpha04
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha04-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
- পরীক্ষামূলক
MacrobenchmarkRule#measureRepeated
variant যোগ করা হয়েছে যা সম্পূর্ণ কাস্টমাইজড Perfetto ট্রেস রেকর্ডিংয়ের জন্য একটি কাস্টমPerfettoConfig
নেয়। মনে রাখবেন যে ভুলভাবে কনফিগার করা কনফিগারের কারণে বিল্ট ইন মেট্রিক ক্লাস ব্যর্থ হতে পারে। ( Idfd3d , b/309841164 , b/304038384 ) - স্বচ্ছতার জন্য
PowerMetric.deviceSupportsPowerEnergy
এPowerMetric.deviceSupportsHighPrecisionTracking
এর নাম পরিবর্তন করুন ( I5b82f ) - ডিভাইস পাওয়ার পরিমাপের ক্ষমতার উপর ভিত্তি করে বেঞ্চমার্ক পরিবর্তন বা এড়িয়ে যাওয়া সক্ষম করতে
PowerMetric.deviceBatteryHasMinimumCharge()
এবংPowerMetric.deviceSupportsPowerEnergy()
যোগ করা হয়েছে। ( I6a591 , b/322121218 )
বাগ ফিক্স
- পূর্ববর্তী বেসলাইন প্রোফাইলের সাথে তুলনা যোগ করা হয়েছে ( I824c8 , b/269484510 )
- সতর্কতা নিষ্ক্রিয় করতে DSL যোগ করা হয়েছে ( Ic4deb , b/331237001 )
- বেঞ্চমার্ক ভেরিয়েন্ট অক্ষম করা হলে তথ্য লগে ব্যতিক্রম পরিবর্তন করা হয়েছে ( I8a517 , b/332772491 )
- একটি ম্যাক্রোবেঞ্চমার্কের জন্য পদ্ধতির ট্রেস ক্যাপচার করা সহজ করে তুলুন প্রকৃত
measureBlock()
এর সময়কাল পর্যন্ত। পূর্বে, এটি টার্গেট প্রসেস লঞ্চে শুরু হয়েছিল এবং শুধুমাত্র কোল্ড স্টার্ট সমর্থিত ছিল ( Iee85a , b/300651094 ) - যখন পারফেটো ট্রেস প্রসেসর শুরু হতে ধীর হয় তখন ক্র্যাশ হওয়া এড়িয়ে চলুন ( I98841 , b/329145808 )
সংস্করণ 1.3.0-alpha03
এপ্রিল 17, 2024
androidx.benchmark:benchmark-*:1.3.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha03-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট
- JSON, textproto এবং প্রোটো বাইনারি (আনডিকোডেড) ভেরিয়েন্টের সাথে পাবলিক API
PerfettoTraceProcessor.Session.queryMetrics
API যোগ করে। এগুলি আপনাকে ট্রেসপ্রসেসর ( I54d7f , b/304038382 ) -এ অন্তর্নির্মিত মেট্রিকগুলি জিজ্ঞাসা করার অনুমতি দেয় - প্রোফাইলিং ট্রেসগুলির চারপাশে সহজ টুলিংয়ের জন্য JSON আউটপুটে
profilerOutput
যোগ করা হয়েছে (যেমন perfetto, পদ্ধতি ট্রেস)। ( I05ddd , b/332604449 ) - বেঞ্চমার্ক পারফেটো কনফিগারেশনে পাওয়ার ট্যাগ যোগ করা হয়েছে। এটি ক্যাপচার করে, উদাহরণস্বরূপ, wakelock ট্রেসপয়েন্ট। ( ICfe44 , b/286551983 )
- যোগ করা ইনস্ট আর্গুমেন্ট
androidx.benchmark.profiling.skipWhenDurationRisksAnr
, প্রত্যাশিত সময়কাল একটি ANR হতে পারে যখন পদ্ধতি ট্রেস এড়ানোর জন্য মিথ্যা সেট করা যেতে পারে - CI রান এড়ানোর জন্য দৃঢ়ভাবে সুপারিশ করা হয়। -
androidx.benchmark.profiling.perfCompare.enable
পরীক্ষামূলক যুক্তি যোগ করা হয়েছে, পরিমাপ এবং প্রোফাইলিং পর্যায়গুলির মধ্যে তুলনার সময় চালানোর জন্য এটিকে সত্য হিসাবে সেট করুন। যেমন পদ্ধতি ট্রেসিং ওভারহেড মূল্যায়ন দরকারী. ( I61fb4 , b/329146942 )
এপিআই পরিবর্তন
-
TraceSectionMetric.Mode
পরিবর্তিত হয়েছে বিবৃতি ( I71f7b ) সম্পূর্ণ না করে ভবিষ্যৎ সম্প্রসারণ সক্ষম করতে সিল করা ক্লাসে -
TraceSectionMetric.Mode.Average
এবং.Count
যোগ করা হয়েছে এবং args পুনরায় সাজানো হয়েছে যাতে আরো সাধারণ আর্গুমেন্ট (মোড) আগে আর্গ তালিকায় ছিল, প্যারামিটারের নাম নির্দিষ্ট করার প্রয়োজনীয়তা হ্রাস করে। ( Ibf0b0 , b/315830077 , b/322167531 ) - রিটার্ন টাইপ ( I42595 ) এর সাথে মেলে
getMeasurements
Metric.getResult
নামকরণ করা হয়েছে
বাগ ফিক্স
-
automaticGenerationDuringBuild
বন্ধ থাকলে বেঞ্চমার্কগুলি জেনারেট করা বেসলাইন প্রোফাইলগুলি ব্যবহার করে তা নিশ্চিত করুন ( Ic144f , b/333024280 ) - একটি
nonMinified
বা বেঞ্চমার্ক বিল্ড টাইপ কাস্টমাইজ করার সময় বেসলাইন প্রোফাইল জেনারেশন এবং বেঞ্চমার্কিং সক্ষম করতেBaselineProfile
গ্রেডল প্লাগইন সম্পত্তি ওভাররাইডগুলি ঠিক করুন। ( Ib8f05 , b/324837887 ) - স্থির পদ্ধতির ট্রেসগুলি ম্যাক্রোবেঞ্চমার্কে ফ্লাশ করে, যাতে পদ্ধতির ট্রেসগুলি সম্পূর্ণরূপে ক্যাপচার করা এবং বৈধ হওয়া উচিত, এমনকি ধীর ডিভাইসেও। ( I6349a , b/329904950 )
- ট্রেসের শুরুতে ডেটা হারিয়ে যাওয়ার ঝুঁকি কমাতে পারফেটো ট্রেস রেকর্ডে ব্লক করা শুরু সক্ষম করুন। শুধুমাত্র API 33+ এ সমর্থিত। ( Ie6e41 , b/310760059 )
- বেঞ্চমার্ক মডিউলগুলিতে যখন Android টেস্ট অর্কেস্ট্রেটর ব্যবহার করা হয় তখন একটি সতর্কতা যোগ করা হয়েছে, কারণ এটি প্রতি-মডিউল আউটপুট JSON ফাইলগুলিকে বারবার ওভাররাইট করবে৷ ( IA1af6 , b/286899049 )
- স্টুডিও আউটপুটে ধারাবাহিকতার জন্য ',' (কমা) হাজার হাজার বিভাজককে বল করুন, ডিভাইস লোকেল উপেক্ষা করুন ( I3e921 , b/313496656 )
-
TraceSectionMetric
এখনTrace.{begin|end}AsyncSection
। ( I91b32 , b/300434906 ) - সমস্ত স্টার্টআপ সনাক্তকরণ ব্যর্থতায় log.w/ ব্যতিক্রম লেবেল যোগ করা হয়েছে। এটি বর্তমান আচরণ পরিবর্তন করে না (তাই কিছু ত্রুটি নিক্ষেপ করে, এবং অন্যরা নীরবে স্টার্টআপ সনাক্ত করতে ব্যর্থ হয়), এটি আরও বোধগম্য করে তোলে। সাধারণত যেগুলি
Log.w()
এবং স্টার্টআপ মেট্রিক্স রিপোর্ট করতে ব্যর্থ হয় সেগুলি হল যেখানে নন-ফ্রেম ইভেন্টগুলি অনুপস্থিত, ব্যতিক্রমগুলি ছুঁড়ে দেওয়া হয় যখন স্টার্টআপ শনাক্ত করা হয় ফ্রেম টাইমিং তথ্য (UI/RT স্লাইস থেকে) ছাড়া৷ ( Id240f , b/329145809 ) - হস্তক্ষেপ কমাতে ম্যাক্রোবেঞ্চমার্ক চালানোর আগে ব্যাকগ্রাউন্ড ডেক্সপট কাজগুলি বাতিল করুন। ( I989ed )
-
FrameTimingMetric
এframeCount
পরিমাপ যোগ করা হয়েছে এমন পরিস্থিতির আবিষ্কারে সাহায্য করার জন্য যেখানে পরিমাপ পরিবর্তিত হয় কারণ উত্পাদিত ফ্রেমের সংখ্যা পরিবর্তিত হয় (নতুন অ্যানিমেশন যোগ করা হয়েছে, অবৈধতা সংক্রান্ত সমস্যাগুলি সংশোধন করা হয়েছে)। ( I1e5aa ) - স্পষ্ট করা হয়েছে যে ডক্সে উপলব্ধ হলে ট্র্যাকিংয়ের জন্য
frameOverrunMs
পছন্দের মেট্রিক এবং কেন। ( I18749 , b/329478323 )
সংস্করণ 1.3.0-alpha02
20 মার্চ, 2024
androidx.benchmark:benchmark-*:1.3.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha02-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট
এমবেডেড প্রোগার্ড নিয়মের মাধ্যমে মাইক্রোবেঞ্চে পরীক্ষামূলক R8 সমর্থন। মনে রাখবেন যে এই সমর্থনটি পরীক্ষামূলক, এবং লাইব্রেরি মডিউল পরীক্ষাগুলি ছোট করার জন্য AGP 8.3 প্রয়োজন৷ আপনার বেঞ্চমার্ক মডিউলের
build.gradle
এ R8 মিনফিকেশন/অপ্টিমাইজেশন সক্ষম করতে নিম্নলিখিতটি ব্যবহার করুন, যা কাজের চাপের উপর নির্ভর করে একটি উল্লেখযোগ্য কর্মক্ষমতা বৃদ্ধির দিকে পরিচালিত করবে। ( I738a3 , b/184378053 )android { buildTypes.release.androidTest.enableMinification = true }
বাগ ফিক্স
- মাইক্রোবেঞ্চ আউটপুট থেকে পৃথক লাইনে থাকা পদ্ধতি ট্রেসিং সতর্কতা সংশোধন করে। ( I0455c , b/328308833 )
সংস্করণ 1.3.0-alpha01
21 ফেব্রুয়ারি, 2024
androidx.benchmark:benchmark-*:1.3.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha01-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
- অপ্রয়োজনীয় শব্দ 'উচিত' ( Ia8f00 , b/303387299 ) এড়াতে
MicrobenchmarkConfig
বুলিয়ান প্যারামিটারের নাম পরিবর্তন করা হয়েছে -
BenchmarkRule.measureRepeatedOnMainThread
যোগ করা হয়েছে যাতে প্রধান থ্রেড বেঞ্চমার্ক (যেমন ভিউ বা কম্পোজ UIs স্পর্শ করে) ANR ট্রিগার করা এড়াতে পারে, বিশেষ করে CI-তে বড় স্যুটগুলির সময়। ( I5c86d ) -
FrameTimingGfxInfoMetric
যোগ করা হয়েছে, যা Perfetto ট্রেস থেকে বের না করে সরাসরি প্ল্যাটফর্ম থেকে আসা পরিমাপ সহFrameTimingMetric
এর একটি পরীক্ষামূলক বিকল্প বাস্তবায়ন। ( I457cb , b/322232828 ) - পৃথক
warmUp
পুনরাবৃত্তির সময় একটি ART প্রোফাইল ডাম্প করার ক্ষমতা যোগ করুন। ( I17923 ) -
TraceSectionMetric
API-তে বেশ কিছু পরিবর্তন:-
Mode.Min
,Mode.Max
যোগ করুন - মেট্রিক লেবেল হিসাবে বিভাগের নাম ওভাররাইড করতে লেবেল যুক্তি যোগ করুন
- মেট্রিক অর্থ স্পষ্ট করতে আউটপুটে মোড নাম যোগ করা হয়েছে
- ডিফল্ট যোগে পরিবর্তন করা হয়েছে, কারণ এই মেট্রিকের বেশির ভাগ ব্যবহার বারবার ইভেন্টের জন্য। CI ব্যবহারে এই পরিবর্তনগুলি সম্পর্কে সচেতন থাকুন, কারণ এটি বিচ্ছিন্নতা বা পার্সিং ভেঙে দিতে পারে। ( Ic1e82 , b/301892382 , b/301955938 )
-
বাগ ফিক্স
- বেসলাইন প্রোফাইল গ্রেডল প্লাগইনে উন্নত ত্রুটি বার্তা যখন নির্দিষ্ট করা পরিচালিত ডিভাইসটি বিদ্যমান না থাকে ( Idea2b , b/313803289 )
- AGP 8.3.0-alpha15 ( I1d2af , b/313992099 ) এর আগে AAR-এ লাইব্রেরি বেসলাইন প্রোফাইল অন্তর্ভুক্ত করার জন্য ঠিক করুন
- জেনারেশন টাস্কের শেষে ফিক্সড বেসলাইন এবং স্টার্টআপ প্রোফাইল আউটপুট ইউআরএল ( I802e5 , b/313976958 )
- java.lang.IllegalStateException ঠিক করার চেষ্টা করার জন্য সামঞ্জস্য করা ডেটা সোর্স টাইমআউট: [ProcessPid(processName=perfetto, pid=...)] ( I8dc7d , b/323601788 )
java.lang.IllegalStateException: Failed to stop [ProcessPid(processName=perfetto, pid=...)]
-
ProfileInstaller
1.3 ছাড়া অ্যাপস বেঞ্চমার্ক করার সময় শেডার ড্রপিং আচরণ ওভাররাইড করার জন্য দুটি ইন্সট্রুমেন্টেশন আর্গুমেন্ট যোগ করুন:-
androidx.benchmark.dropShaders.enable=true/false
: সমস্ত শেডার ড্রপিং (StartupMode.Cold
লঞ্চ সহ) এড়িয়ে যেতে ব্যবহার করা যেতে পারে, বিশেষ করে বেঞ্চমার্ক করার সময় অ্যাপগুলি যেগুলি এখনও প্রোফাইলইনস্টলার 1.3 ব্যবহার করে না -
androidx.benchmark.dropShaders.throwOnFailure=true/false
: শেডার্স ড্রপ করার চেষ্টা করার সময় ব্যর্থতা সহ্য করতে ব্যবহার করা যেতে পারে, উদাহরণস্বরূপ যখন প্রোফাইলইনস্টলার 1.3 ( I4f573 ) ছাড়া অ্যাপের বেঞ্চমার্কিং
-
- UI থ্রেডে পদ্ধতির ট্রেসিং এড়িয়ে যান যখন কয়েক সেকেন্ডের বেশি সময় লাগবে বলে প্রত্যাশিত হয়, এবং নিক্ষেপ করার সময় ক্লিনআপ পদ্ধতি ট্রেসিং। ( I6e768 )
- ফাইলের নাম 200 অক্ষরের বেশি হলে ফেলুন যাতে ফাইল লেখার সময় বা পোস্ট-প্রসেসিং করার সময় অস্পষ্ট ক্র্যাশ এড়াতে হয়। ( I4a5ab )
- সমস্যার সমাধান করে যেখানে ট্রেসের শুরুতে এবং শেষের শেষ না হওয়া ফ্রেমগুলিকে একসাথে যুক্ত করা যেতে পারে, যা একটি একক অত্যন্ত দীর্ঘ ফ্রেম হিসাবে ভুলভাবে রিপোর্ট করবে। ( I39353 , b/322232828 )
- ব্যবহারকারী বিল্ডে এআরটি প্রোফাইলগুলি সাফ করতে API 30-33 এ একটি প্যাকেজ পুনরায় ইনস্টল করার সময় API 30+-এ
--skip verification
ব্যবহার করুন। এটি Play Protect সতর্কতাগুলিকে বাইপাস করতে সাহায্য করে যা কিছু শ্রেণীর ডিভাইসে ব্যর্থতার কারণ হয়। ( IC9e36 ) - সিস্টেম UI বা লঞ্চারের মতো সিস্টেম অ্যাপ না থাকলে অ্যাপগুলিকে হত্যা করতে
am force-stop
ব্যবহার করুন। ( I5e028 ) - ম্যাক্রোবেঞ্চমার্ক এখন একটি ART প্রোফাইল ফ্লাশ করার লক্ষ্য অ্যাপ্লিকেশনটির জন্য
1 second
জন্য অপেক্ষা করে (আগে এটি500 ms
এর জন্য অপেক্ষা করত)। ( I85a50 , b/316082056 ) -
FrameTimingMetric
ত্রুটি উন্নত করুন যখন ফ্রেম তৈরি করা হয় না, এবং সমস্যা নির্ণয়ে সহায়তা করার জন্য মেট্রিক পার্সিং ব্যর্থ হলে সর্বদা ট্রেস লিঙ্ক আউটপুট করুন। ( I956b9 ) -
FrameTimingMetric
এ স্থির ক্র্যাশ ফ্রেম আইডি পার্স করতে ব্যর্থ হয়েছে, বিশেষ করে নির্দিষ্ট কিছু OEM ডিভাইসে। ( IA24bc , b/303823815 , b/306235276 ) -
FrameMetrics
চেকের কঠোরতা শিথিল করা হয়েছে এবং ত্রুটির বার্তাগুলিতে আরও বিশদ যোগ করা হয়েছে। ( ইয়াদেদে )
সংস্করণ 1.2
সংস্করণ 1.2.4
এপ্রিল 17, 2024
androidx.benchmark:benchmark-*:1.2.4
প্রকাশিত হয়েছে। সংস্করণ 1.2.4- এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
- বেসলাইন প্রোফাইল srcset বেঞ্চমার্ক ভেরিয়েন্টে সেট আপ হচ্ছে না তা ঠিক করে। এছাড়াও একটি বৃত্তাকার নির্ভরতা সৃষ্টি করে লাইব্রেরিতে
automaticGenerationDuringBuild
ঠিক করে। ( I28ab7 , b/333024280 ) - সিস্টেম UI বা লঞ্চারের মতো সিস্টেম অ্যাপ না থাকলে অ্যাপগুলিকে হত্যা করতে
am force-stop
ব্যবহার করুন। এটি "প্যাকেজ $package কোল্ড স্টার্টের আগে চলতে হবে না!" থেকেStartupMode.COLD
বেঞ্চমার্কের ক্র্যাশের সমাধান করে। প্রক্রিয়ার কারণে হত্যা সম্পূর্ণরূপে সফল হচ্ছে না। ( I5e028 )
সংস্করণ 1.2.3
24 জানুয়ারী, 2024
androidx.benchmark:benchmark-*:1.2.3
প্রকাশিত হয়েছে। সংস্করণ 1.2.3 এই কমিট ধারণ করে.
বাগ ফিক্স
- AGP সংস্করণ 8.3.0 বা উচ্চতর হলে বেসলাইন প্রোফাইল গ্রেডল প্লাগইন থেকে ব্যতিক্রম সরানো হয়েছে।
- AGP 8.3.0-alpha15 এর আগে AAR-এ লাইব্রেরি বেসলাইন প্রোফাইল অন্তর্ভুক্ত করার জন্য ঠিক করুন।
সংস্করণ 1.2.2
ডিসেম্বর 1, 2023
androidx.benchmark:benchmark-*:1.2.2
প্রকাশিত হয়েছে। সংস্করণ 1.2.2 এই কমিট ধারণ করে.
বেসলাইন প্রোফাইল
- এক্সিকিউশন লগগুলি স্থানীয় ফাইল URI হিসাবে বেসলাইন প্রোফাইল আউটপুট ফাইল পাথ দেখাবে ( aosp/2843918 , aosp/2853665 , b/313976958 )
সংস্করণ 1.2.1
15 নভেম্বর, 2023
androidx.benchmark:benchmark-*:1.2.1
প্রকাশিত হয়েছে। সংস্করণ 1.2.1 এই কমিট ধারণ করে.
নতুন বৈশিষ্ট
- ব্যবহারকারী পরীক্ষার ভেরিয়েন্ট অক্ষম করলে উন্নত ত্রুটি বার্তা ( b/307478189 )
- AS পরীক্ষা চালানোর ইন্টিগ্রেশন সমর্থন করার জন্য বৈশিষ্ট্য যুক্ত করা হয়েছে ( b/309805233 ), ( b/309116324 )
সংস্করণ 1.2.0
18 অক্টোবর, 2023
androidx.benchmark:benchmark-*:1.2.0
প্রকাশিত হয়েছে। সংস্করণ 1.2.0 এই কমিট ধারণ করে.
1.1.0 থেকে গুরুত্বপূর্ণ পরিবর্তন
বেসলাইন প্রোফাইল
- নতুন বেসলাইন প্রোফাইল গ্রেডল প্লাগইন স্বয়ংক্রিয়ভাবে ক্যাপচারিং এবং আপনার পরীক্ষায় বেসলাইন প্রোফাইল অন্তর্ভুক্ত করে এবং ওয়ার্কফ্লো তৈরি করে।
-
BaselineProfileRule.collect
এখন স্থিতিশীল, পূর্ববর্তী পরীক্ষামূলকBaselineProfileRule.collectBaselineProfile
API এর একটি সুবিন্যস্ত এবং সরলীকৃত সংস্করণ- শুধু
packageName
উল্লেখ করুন এবং আপনার অ্যাপ চালান
- শুধু
- বেসলাইন প্রোফাইল তৈরি করা লাইব্রেরিগুলির জন্য, আপনি এখন কোডে (
BaselineProfileRule.collect
আর্গুমেন্ট) বা আরও সহজভাবে গ্রেডল প্লাগইনে তৈরি করা নিয়মগুলি ফিল্টার করতে পারেন - সংশোধন করে
- অ্যান্ড্রয়েড U+ ( Id1392 , b/277645214 ) এ স্থায়ী বেসলাইন প্রোফাইল সংগ্রহ
ম্যাক্রোবেঞ্চমার্ক
- সংকলন
- ম্যাক্রোবেঞ্চমার্ক এখন সঠিকভাবে প্রতিটি কম্পাইলের জন্য কম্পাইলেশন স্টেট সম্পূর্ণরূপে রিসেট করে - এর জন্য Android 14 এর আগে APK পুনরায় ইনস্টল করা প্রয়োজন, তাই আপনি যদি পরিমাপ করা হচ্ছে সেই অবস্থা (যেমন ব্যবহারকারী লগইন) বজায় রাখতে চান তাহলে Android 14+ তে বেঞ্চমার্ক করার জোরালো পরামর্শ দেওয়া হয়।
- আপনি আলাদাভাবে অ্যাপ কম্পাইলেশন নিয়ন্ত্রণ করে এবং
CompilationMode.Ignore()
বা ইনস্ট্রুমেন্টেশন আর্গুমেন্টের সাথে কম্পাইলেশন এড়িয়ে যাওয়ার মাধ্যমেও এটিকে ঘিরে কাজ করতে পারেন
ইন্সট্রুমেন্টেশন আর্গুমেন্ট
-
androidx.benchmark.dryRunMode.enable
ইন্সট্রুমেন্টেশন আর্গুমেন্টের জন্য সমর্থন, (ইতিমধ্যেই মাইক্রোবেঞ্চমার্কে উপলব্ধ) দ্রুত বৈধতা চালানোর জন্য (যেমন বেঞ্চমার্ক তৈরি করার সময়, বা প্রিসবমিট করার সময়) -
androidx.benchmark.profiling.mode=StackSampling
এবংMethodTracing
এর জন্য সমর্থন। - রানটাইম ফিল্টারিং বেসলাইন প্রোফাইল বনাম ম্যাক্রোবেঞ্চমার্ক নিয়ম পরীক্ষার অনুমতি দিতে
androidx.benchmark.enabledRules
যোগ করা হয়েছে -
androidx.benchmark.perfettoSdkTracing.enable
আর্গুমেন্ট যোগ করা হয়েছে ট্রেসিং-পারফেটোর সাথে ট্রেসিং সক্ষম করতে, যেমন কম্পোজ রিকম্পোজিশন ট্রেসিং। মনে রাখবেন যে যখনStartupMode.COLD
এর সাথে ব্যবহার করা হয়, তখন সময় উল্লেখযোগ্যভাবে প্রভাবিত হবে কারণ অ্যাপ স্টার্টআপের সময় ট্রেসিং লাইব্রেরি লোড এবং সক্ষম হয়।
-
প্রয়োজনীয়তা
- ম্যাক্রোবেঞ্চমার্কের এখন প্রোফাইল ক্যাপচার/রিসেট এবং শেডার ক্যাশে ক্লিয়ারিং সক্ষম করতে লক্ষ্য অ্যাপে
ProfileInstaller
1.3.0 বা তার বেশি প্রয়োজন।
- ম্যাক্রোবেঞ্চমার্কের এখন প্রোফাইল ক্যাপচার/রিসেট এবং শেডার ক্যাশে ক্লিয়ারিং সক্ষম করতে লক্ষ্য অ্যাপে
নতুন পরীক্ষামূলক মেট্রিক API
- পরীক্ষামূলক
TraceSectionMetric
যোগ করা হয়েছে, যা আপনার অ্যাপেরtrace("") {}
ব্লকগুলি থেকে সহজ সময় বের করার অনুমতি দেয়, বা PerfettoTraceProcessor
এর সম্পূর্ণ ক্যোয়ারী ক্ষমতার সুবিধার জন্য TraceMetric । - পাওয়ার ব্যবহারের তথ্য ক্যাপচার করতে পরীক্ষামূলক
PowerMetric
যোগ করা হয়েছে - পৃষ্ঠার ত্রুটিগুলি গণনা করতে পরীক্ষামূলক
MemoryCountersMetric
যোগ করা হয়েছে৷ - পরীক্ষামূলক
PerfettoTraceProcessor
API যোগ করা হয়েছে, যা অভ্যন্তরীণভাবে সিস্টেম ট্রেস (ওরফে পারফেটো ট্রেস) থেকে মেট্রিক্স বের করতে ব্যবহৃত হয়
- পরীক্ষামূলক
সংশোধন করে
- একাধিক APK (যেমন অ্যাপ বান্ডেল থেকে) থেকে ইনস্টল করা একটি অ্যাপ থেকে প্রোফাইল ইনস্টল বা এক্সট্র্যাক্ট করার সময় স্থির ক্র্যাশগুলি।
- স্থির
FrameTimingMetric
অসঙ্গত ফ্রেম আইডি সহ ফ্রেম উপেক্ষা করা (সাধারণত, API 31+ এ রিপলসের সময় ফ্রেম) ( I747d2 , b/279088460 ) - ট্রেস > 64MB ( Ief831 , b/269949822 ) এ পার্সিং ত্রুটি সংশোধন করা হয়েছে
- ডিভাইস (বিশেষ করে এমুলেটর) ওএস ইমেজ সঠিকভাবে ট্রেসিং বা সংকলনের জন্য কনফিগার করা না হলে স্পষ্ট ত্রুটি
- ব্যাটারি ছাড়া ডিভাইসের জন্য ব্যাটারি স্তর পরীক্ষা এড়িয়ে যান (মাইক্রো এবং ম্যাক্রো)
- অবৈধ আউটপুট ডিরেক্টরিগুলির জন্য আরও স্পষ্ট ত্রুটি এবং নিরাপদ ডিফল্ট সহ উন্নত ফাইল আউটপুট
- ধারাবাহিকভাবে শেডার ক্যাশে বাদ দিয়ে
StartupMode.COLD
এর উন্নত স্থিতিশীলতা (এছাড়াওMacrobenchmarkScope.dropShaderCache
এর মাধ্যমে প্রকাশিত) -
startActivityAndWait
এর জন্য স্থির লিনব্যাক ফলব্যাক।
মাইক্রোবেঞ্চমার্ক
- বৈশিষ্ট্য
- অন্যান্য মেট্রিক্সের পরে প্রোফাইলিং একটি পৃথক পর্যায়ে স্থানান্তরিত হয়েছিল, তাই একটি পরীক্ষা চালানো সঠিক সময় এবং প্রোফাইলিং ফলাফল উভয়ই প্রদর্শন করতে পারে।
- পরীক্ষামূলক API
- কাস্টম মেট্রিক্স সংজ্ঞায়িত এবং ট্রেসিং এবং প্রোফাইলিং কনফিগার করার জন্য পরীক্ষামূলক
MicrobenchmarkConfig
API যোগ করা হয়েছে। পদ্ধতি ট্রেস ক্যাপচার করতে, বা ট্রেসপয়েন্ট ক্যাপচার করতে ব্যবহার করা যেতে পারে (তবে ওভারহেড ট্রেসিং সম্পর্কে সচেতন থাকুন)। - JUnit ছাড়া
BenchmarkRule
থেকে আলাদাভাবেBenchmarkState
নিয়ন্ত্রণের জন্য পরীক্ষামূলক API যোগ করা হয়েছে - বেঞ্চমার্ক API থেকে পৃথক কাস্টম কনফিগারেশন সহ, পারফেটো ট্রেস ক্যাপচার করতে সক্ষম করতে পরীক্ষামূলক
PerfettoTrace
রেকর্ড যুক্ত করা হয়েছে।
- কাস্টম মেট্রিক্স সংজ্ঞায়িত এবং ট্রেসিং এবং প্রোফাইলিং কনফিগার করার জন্য পরীক্ষামূলক
- সংশোধন করে
- অ্যানড্রয়েড স্টুডিও বেঞ্চমার্ক আউটপুটে নেতৃস্থানীয় হোয়াইটস্পেস অনুপস্থিত ওয়ার্কআউন্ড।
- অ্যান্ড্রয়েড স্টুডিও বেঞ্চমার্ক আউটপুটে সতর্কতা মুদ্রণ করতে ব্যর্থ হতে পারে এমন সমস্যাটি সমাধান করুন।
- Android 13 (API 33) এবং উচ্চতর সংস্করণে
SampledProfiling
ক্র্যাশ সংশোধন করা হয়েছে। -
IsolationActivity
এবং পারফেটো ট্রেসিং (পুরানো OS সংস্করণে 10x দ্রুত ড্রাই রান মোড পর্যন্ত) এড়িয়ে যাওয়ার মাধ্যমেdryRunMode
ব্যাপকভাবে উন্নত কর্মক্ষমতা।
সংস্করণ 1.2.0-rc02
6 অক্টোবর, 2023
androidx.benchmark:benchmark-*:1.2.0-rc02
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-rc02 এই কমিট ধারণ করে।
বাগ ফিক্স
- বেঞ্চমার্ক ফাইল আউটপুট ঠিক করুন যাতে
BaselineProfile
প্লাগইন ফাইল কপি করা আর ভাঙতে না পারে। ফাইলগুলি তৈরি করা হয়েছিল এবং ডিভাইস থেকে অনুলিপি করা হয়েছিল, কিন্তু এমনভাবে নামকরণ করা হয়েছিল যাতে গ্রেডল প্লাগইন সেগুলি দেখতে পাবে না। ( I8dbcc , b/303034735 , b/296453339 ) - ম্যাক্রোবেঞ্চমার্ক মডিউল থেকে টার্গেট অ্যাপ্লিকেশনে ইনজেকশন দেওয়ার সময় স্পষ্ট
tracing-perfetto
লোডিং ত্রুটি বার্তা।
সংস্করণ 1.2.0-rc01
20 সেপ্টেম্বর, 2023
androidx.benchmark:benchmark-*:1.2.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-rc01-এ এই কমিট রয়েছে।
বাগ ফিক্স
- একটি ব্যতিক্রম (প্রতিকার নির্দেশাবলী সহ) এখন নিক্ষেপ করা হয় যখন Perfetto SDK ট্রেসিং একটি বেঞ্চমার্কে আরম্ভ করতে ব্যর্থ হয়। ( I6c878 , b/286228781 )
- ART মেথড ট্রেস -> পারফেটো ফরম্যাটে রূপান্তর করার সময় OOM ক্র্যাশ ঠিক করুন। ( I106bd , b/296905344 )
- (ম্যাক্রোবেঞ্চমার্ক) স্টুডিও টেস্ট আউটপুটে লিঙ্ক করা হলে স্পষ্ট পদ্ধতির ট্রেসিং লেবেল, এবং নির্দিষ্ট পদ্ধতির ট্রেসিং ফাইলের নামগুলি ডিভাইস/হোস্টে অনন্য হতে পারে, তাই একাধিক বেঞ্চমার্ক চালানো হলে সেগুলি ওভাররাইট করা হবে না। ( I08e65 , b/285912360 )
- একটি বেসলাইন প্রোফাইল ক্যাপচার করার সময় ডিভাইসটি জেগে আছে তা নিশ্চিত করে৷ ( I503fc )
সংস্করণ 1.2.0-beta05
30 আগস্ট, 2023
androidx.benchmark:benchmark-*:1.2.0-beta05
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta05-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট
- বেসলাইন প্রোফাইল গ্রেডল প্লাগইন এখন অ্যান্ড্রয়েড গ্রেডল প্লাগইন 8.3 সমর্থন করে। ( aosp/2715214 )
সংস্করণ 1.2.0-beta04
23 আগস্ট, 2023
androidx.benchmark:benchmark-*:1.2.0-beta04
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta04 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট
- বেসলাইন প্রোফাইল গ্রেডল প্লাগইন এখন অ্যান্ড্রয়েড গ্রেডল প্লাগইন 8.3 সমর্থন করে। ( aosp/2715214 )
বাগ ফিক্স
- আউটপুট ফাইলের নামগুলিতে '=' এবং ':' এড়িয়ে আউটপুট ফাইলের নামগুলিকে আরও স্যানিটাইজ করে ফাইলগুলি লেখার / সরানো এবং টানতে ব্যর্থতার সমাধান করুন (বিশেষ করে প্যারামিটারাইজড টেস্টগুলি)। ( I759d8 )
সংস্করণ 1.2.0-beta03
9 আগস্ট, 2023
androidx.benchmark:benchmark-*:1.2.0-beta03
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta03 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
- ডিফল্টরূপে ( Ia219b , b/292208786 ) শুধুমাত্র লক্ষ্য প্যাকেজে
TraceSectionMetric
ফিল্টার করার জন্য যুক্তি যুক্ত করা হয়েছে
বাগ ফিক্স
- পুনঃনামকরণ করা হয়েছে
fullTracing.enable
instrumentation argument toperfettoSdkTracing.enable
এ আর্টিফ্যাক্ট নাম এবং অন্যান্য রেফারেন্সের সাথে সামঞ্জস্যের জন্য।fullTracing.enable
একটি ফলব্যাক হিসাবে কাজ চালিয়ে যাবে। ( I7cc00 ) - বেঞ্চমার্ক লাইব্রেরির অভ্যন্তরীণ ট্রেসপয়েন্টগুলি (মাইক্রোবেঞ্চমার্ক লুপ/ফেজ ট্রেসিং সহ) এখন স্টুডিও সিস্টেম ট্রেস ভিউয়ারে প্রদর্শিত হবে এবং পারফেটোতে সঠিক প্রক্রিয়ার অধীনে নেস্ট করবে। ( I6b2e7 , b/293510459 )
- API 31+ এ ম্যাক্রোবেঞ্চমার্ক নট-প্রোফাইলেবল ত্রুটি সরানো হয়েছে এবং eng/userdebug রুটেড ডিভাইসে প্রোফাইলেবল চেক এড়িয়ে যান। ( I2abac , b/291722507 )
- ডেক্স লেআউট অপ্টিমাইজেশন ব্যবহার করার সময়, স্টার্টআপ প্রোফাইল নিয়মগুলিকে এখন বেসলাইন প্রোফাইল নিয়ম হিসাবে বিবেচনা করা হয়। ( aosp/2684246 , b/293889189 )
সংস্করণ 1.2.0-beta02
জুলাই 26, 2023
androidx.benchmark:benchmark-*:1.2.0-beta02
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta02-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
- মাইক্রোবেঞ্চ কাস্টম মেট্রিক্স এবং কনফিগারেশনের জন্য পরীক্ষামূলক API যোগ করা হয়েছে (যেমন প্রোফাইলার, এবং ট্রেসিং)। ( I86101 , b/291820856 )
বাগ ফিক্স
- ম্যাক্রোবেঞ্চে ত্রুটি রিপোর্ট করুন যখন OS ট্রেসিংয়ের জন্য ভুল কনফিগার করা হয়, যেমনটি সম্প্রতি API 26/28 ARM64 এমুলেটরগুলিতে সংশোধন করা হয়েছে। ( I0a328 , b/282191686 )
- এমুলেটর আপডেট করার পরামর্শ দেওয়ার জন্য সংকলন রিসেট ব্যর্থতায় বিশদ যোগ করা হয়েছে, কারণ কিছু এমুলেটর সম্প্রতি এই সমস্যাটি সমাধান করেছে। ( I8c815 , b/282191686 )
- একটি
implementation
নির্ভরতার পরিবর্তেandroidx.test.uiautomator:uiautomator:2.2.0
একটিapi
করুন। ( I1981e )
সংস্করণ 1.2.0-beta01
18 জুলাই, 2023
androidx.benchmark:benchmark-*:1.2.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta01-এ এই কমিট রয়েছে।
বাগ ফিক্স
- স্টুডিওতে বেঞ্চমার্ক আউটপুটে মাঝে মাঝে দমন করা সতর্কতাগুলি ঠিক করুন এবং বেঞ্চমার্ক আউটপুট থেকে স্টুডিওতে প্রদর্শিত না হওয়া নেতৃস্থানীয় হোয়াইটস্পেসগুলি সমাধান করুন ( Ia61d0 , b/227205461 , b/286306579 , b/285912360 )
-
FrameTimingMetric
এর জন্য স্থির মন্তব্য। সাবমেট্রিকটির নাম দেওয়া হয়frameDurationCpuMs
। ( Ib097f , b/288830934 )।
সংস্করণ 1.2.0-alpha16
জুন 21, 2023
androidx.benchmark:benchmark-*:1.2.0-alpha16
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha16-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
-
BaselineProfileRule.collectBaselineProfile()
API-এর নাম পরিবর্তন করেBaselineProfileRule.collect()
করা হয়েছে। ( I4b665 )
বাগ ফিক্স
-
androidx.benchmark.profiling.mode = MethodTracing
এর জন্য Macrobenchmark সমর্থন। ( I7ad37 , b/285912360 ) - মাইক্রোবেঞ্চমার্ক প্রোফাইলিং একটি পৃথক পর্যায়ে স্থানান্তরিত হয়েছে, তাই এটি প্রতিস্থাপনের পরিবর্তে পরিমাপের পরে ক্রমানুসারে ঘটে।
MethodTracing
ট্রেস বিভাগগুলিও এখন ক্যাপচার করা পারফেটো ট্রেসে অন্তর্ভুক্ত করা হয়েছে, যদি উপস্থিত থাকে। ( I9f657 , b/285014599 ) -
Mode.Sum
এর সাথেTraceSectionMetric
এ গণনা পরিমাপ যোগ করুন। ( IC121a , b/264398606 )
সংস্করণ 1.2.0-alpha15
7 জুন, 2023
androidx.benchmark:benchmark-*:1.2.0-alpha15
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha15-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট
- একটি লক্ষ্য অ্যাপ্লিকেশনের মেমরি ব্যবহার ট্র্যাক করার জন্য পরীক্ষামূলক
MemoryUsageMetric
যোগ করা হয়েছে। ( I56453 , b/133147125 , b/281749311 ) -
PerfettoTrace.record
( If9d75 , b/280460183 ) এর সাথে সম্পূর্ণ কাস্টম পারফেটো কনফিগারেশনের জন্য সমর্থন যোগ করুন - বেসলাইন প্রোফাইল জেনারেশন এড়িয়ে যেতে সম্পত্তি যোগ করা হয়েছে। ব্যবহার:
./gradlew assemble -Pandroidx.baselineprofile.skipgeneration
। ( I37fda , b/283447020 )
এপিআই পরিবর্তন
-
collectBaselineProfile
API সর্বদা স্থিতিশীল বেসলাইন প্রোফাইল তৈরি করে।collectStableBaselineProfile
API সরানো হয়েছে এবং এর পরিবর্তেcollectBaselineProfile
ব্যবহার করা উচিত। ( I17262 , b/281078707 ) -
BaselineProfileRule
এরfilterPredicate
arg-এর সমতুল্য ডিফল্ট মান সহ নন-নাল-এ পরিবর্তন করা হয়েছে যাতে ডক্সে ডিফল্ট ফিল্টার আচরণ আরও স্পষ্ট হয়। ( I3816e )
বাগ ফিক্স
- উল্লেখযোগ্যভাবে কর্মক্ষমতা উন্নত করতে
dryRunMode
IsolationActivity
এবং পারফেটো ট্রেসিং অক্ষম করুন, কারণ এটি বেশিরভাগ রানটাইম ছিল। ( Ie4f7d ) - ইনস্ট্রুমেন্টেশন টেস্ট আর্গুমেন্ট
androidx.benchmark.profiling.mode=StackSampling
এবংandroidx.benchmark.profiling.sampleFrequency
ব্যবহার করে ম্যাক্রোবেঞ্চমার্কে কল স্ট্যাক স্যাম্পলিং এর জন্য সমর্থন। ( I1d13b , b/282188489 ) - Android U (API 34) এর পাশাপাশি এমুলেটরগুলিতে শেডার ড্রপ করার সময় ক্র্যাশের সমাধান করে। ( I031ca , b/274314544 )
সংস্করণ 1.2.0-আলফা14
3 মে, 2023
androidx.benchmark:benchmark-*:1.2.0-alpha14
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha14 এই কমিট ধারণ করে।
বাগ ফিক্স
-
FrameTimingMetric
অসঙ্গত ফ্রেম আইডি সহ ফ্রেম উপেক্ষা করা ঠিক করুন। এর ফলে সাম্প্রতিক প্ল্যাটফর্ম সংস্করণে (API 31+) কিছু অ্যানিমেশন অনেকগুলি ফ্রেমকে উপেক্ষা করবে যখনRenderThread
অ্যানিমেটিং করছিল (যেমন একটি লহরের সময়)। ( I747d2 , b/279088460 ) - 64Mb-এর চেয়ে বড় ট্রেসের জন্য স্থায়ী ট্রেস প্রসেসর পার্সিং। ( Ief831 , b/269949822 )
-
pm dump-profiles
কমান্ডের ভিন্ন আউটপুটের কারণে অ্যান্ড্রয়েড ইউ-তে ফিক্সড বেসলাইন প্রোফাইল জেনারেশন ব্যর্থ হচ্ছে। ( Id1392 , b/277645214 ) - সঠিকভাবে স্ট্রিং তুলনা করতে GPU ঘড়ি লকিং স্ক্রিপ্ট ঠিক করুন ( I53e54 , b/213935715 )
সংস্করণ 1.2.0-alpha13
5 এপ্রিল, 2023
androidx.benchmark:benchmark-*:1.2.0-alpha13
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha13-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
- আসন্ন স্টার্টআপ প্রোফাইল বৈশিষ্ট্যকে সমর্থন করার জন্য বেসলাইন প্রোফাইল তৈরি করার সময় প্রোফাইল টাইপ প্যারামিটার যোগ করা হয়েছে ( Ie20d7 , b/275093123 )
- একটি Perfetto ট্রেসের বিষয়বস্তুর উপর ভিত্তি করে সম্পূর্ণ কাস্টম মেট্রিক্স সংজ্ঞায়িত করার জন্য নতুন পরীক্ষামূলক
TraceMetric
API যোগ করা হয়েছে। ( I4ce31 , b/219851406 ) - একটি বেঞ্চমার্কের সময় পৃষ্ঠার ত্রুটির সংখ্যা নির্ধারণ করতে একটি পরীক্ষামূলক মেট্রিক যোগ করুন। ( I48db0 )
সংস্করণ 1.2.0-আলফা12
22 মার্চ, 2023
androidx.benchmark:benchmark-*:1.2.0-alpha12
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha12-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট
- নতুন বেসলাইন প্রোফাইল গ্রেডল প্লাগইন আলফা সংস্করণে প্রকাশ করা হয়েছে, এটি একটি বেসলাইন প্রোফাইল তৈরি করা সহজ করে এবং বিকাশকারীর কর্মপ্রবাহকে সহজ করে তোলে।
এপিআই পরিবর্তন
- API 21 এবং 22-এ Perfetto ট্রেসিং সমর্থন সরানো হয়েছে, যার মধ্যে মাইক্রোবেঞ্চমার্ক এবং পরীক্ষামূলক
PerfettoTrace
API উভয়ই অন্তর্ভুক্ত রয়েছে। এই সংস্করণের আগে, কিছু ডিভাইসেUiAutomation
সংযোগগুলি অবিশ্বস্ত ছিল। ( I78e8c ) - পার্সিং ট্রেস কন্টেন্ট সক্ষম করতে
PerfettoTraceProcessor
এর জন্য সর্বজনীন পরীক্ষামূলক API যোগ করা হয়েছে। এটি পারফেটো ট্রেস ডেটার উপর ভিত্তি করে সম্পূর্ণ কাস্টম মেট্রিক্সের দিকে একটি পদক্ষেপ। ( I2659e , b/219851406 )
সংস্করণ 1.2.0-আলফা11
8 মার্চ, 2023
androidx.benchmark:benchmark-*:1.2.0-alpha11
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha11-এ এই কমিট রয়েছে।
বাগ ফিক্স
- একাধিক APK সহ একটি অ্যাপ বান্ডেল থেকে প্রোফাইলগুলি পুনরায় ইনস্টল বা নিষ্কাশন করার সময়
MacrobenchmarkRule
এবংBaselineProfileRule
এ স্থির ক্র্যাশগুলি৷ ( I0d8c8 , b/270587281 )
সংস্করণ 1.2.0-আলফা10
22 ফেব্রুয়ারি, 2023
androidx.benchmark:benchmark-*:1.2.0-alpha10
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha10 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট
- অ্যান্ড্রয়েড 14+-এ, একটি নতুন প্ল্যাটফর্ম বৈশিষ্ট্যের জন্য ধন্যবাদ, কম্পাইলেশন স্টেট রিসেট করতে Macrobenchmark আর টার্গেট অ্যাপ্লিকেশনগুলি পুনরায় ইনস্টল করে না। পূর্বে এটি একটি রুটেড ডিভাইস থাকা প্রয়োজন ছিল, অথবা প্রতিটি বেঞ্চমার্ক চালানোর আগে সমস্ত অ্যাপ্লিকেশন অবস্থা (যেমন ব্যবহারকারী লগইন) মুছে ফেলার সাথে মোকাবিলা করতে হবে। ( I9b08c , b/249143766 )
বাগ ফিক্স
- সংকলন এড়িয়ে যাওয়ার কারণে, খালি প্রোফাইলের সাথে আর ক্র্যাশ না হওয়ার জন্য
DryRunMode
ঠিক করুন। পরিবর্তে, এটি একটি একক পুনরাবৃত্তি চালায় এবং কিছু ক্যাপচার করা হয়েছে তা নিশ্চিত করতে প্রোফাইলটি বের করে। ( I2f05d , b/266403227 ) - পুরানো API লেভেলে পাওয়ারস্ট্যাটের উপস্থিতি পরীক্ষা করার সময়
PowerMetric
ক্র্যাশ ঠিক করুন। ( 5faaf9 , b/268253898 )
সংস্করণ 1.2.0-alpha09
11 জানুয়ারী, 2023
androidx.benchmark:benchmark-*:1.2.0-alpha09
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha09 এই কমিট ধারণ করে।
বাগ ফিক্স
- সমস্ত বেঞ্চমার্ক / বেসলাইন প্রোফাইল জেনারেশন অক্ষম করতে
androidx.benchmark.enabledRules
instrumentation arg-এNone
পাস করা সক্ষম করা হয়েছে। ( I3d7fd , b/258671856 ) - অ্যাপ মডিউলগুলিতে
PerfettoTrace
ক্যাপচার ঠিক করুন (যেমন নন-সেলফ-ইনস্ট্রুমেন্টিং টেস্ট APK) ( I12cfc ) - স্টুডিও আউটপুটে স্থির বেসলাইন প্রোফাইল অ্যাডবি পুল আর্গুমেন্ট অর্ডার ( I958d1 , b/261781624 )
- আর্ম এমুলেটর api 33 এখন ম্যাক্রোবেঞ্চমার্ক চালানোর চেষ্টা করার সময় সঠিকভাবে স্বীকৃত হয় এবং সঠিকভাবে সতর্কতা প্রিন্ট করবে। ( 69133b , b/262209591 )
- Macrobenchmark ( fe4114 , b/232448937 ) এ ব্যাটারি ছাড়া ডিভাইসে ব্যাটারি লেভেল চেক এড়িয়ে যান
সংস্করণ 1.2.0-alpha08
7 ডিসেম্বর, 2022
androidx.benchmark:benchmark-*:1.2.0-alpha08
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha08 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
- পরীক্ষামূলক নতুন APIs
PerfettoTrace.record {}
এবংPerfettoTraceRule
যোগ করা হয়েছে একটি পরীক্ষার অংশ হিসাবে পারফেটো ট্রেস (সিস্টেম ট্রেসেস নামেও পরিচিত) ক্যাপচার করার জন্য, পরীক্ষার আচরণ এবং কার্যকারিতা পরিদর্শন করতে। ( I3ba16 ) -
BaselineProfileRule
এখন প্যাকেজ উপসর্গের তালিকার পরিবর্তে একটি ফিল্টার প্রিডিকেট গ্রহণ করে। এটি পরীক্ষাটিকে ফিল্টারিংয়ের উপর সম্পূর্ণ নিয়ন্ত্রণ দেয়। ( I93240 ) - একটি পরীক্ষামূলক API
BaselineProfileRule.collectStableBaselineProfile
যোগ করুন যা N পুনরাবৃত্তির জন্য একটি বেসলাইন প্রোফাইল স্থিতিশীল না হওয়া পর্যন্ত অপেক্ষা করে। ( I923f3 ) -
BaselineProfileRule
ব্যবহার করে বেসলাইন প্রোফাইল তৈরি করার সময় একটি আউটপুট ফাইলের নাম উপসর্গ নির্দিষ্ট করার ক্ষমতা যোগ করুন। ( I7b59f , b/260318655 )
বাগ ফিক্স
- ফাইল আউটপুট লেখার নিরাপত্তা উন্নত করুন, যা আউটপুট ফাইলগুলিকে চুপচাপ লেখা/সংযোজিত না হওয়া থেকে আটকাতে হবে, বিশেষ করে API 21/22-এ। ( if8c44 , b/227510293 )
- ফাইলটি সঠিকভাবে তৈরি করতে এবং স্থাপন করতে
simpleperf
ট্রেস আউটপুট ঠিক করুন। এটি আরও সাধারণভাবে সমস্যাগুলির সমাধান করা উচিত যেখানে একটি ফাইল গ্রেডল দ্বারা অসফলভাবে টানা হয়। ( I12a1c , b/259424099 ) - প্রোফাইলইনস্টলার অনেক পুরানো হলে প্রিন্ট করা প্রোফাইলইনস্টলারের ত্রুটি বার্তা উন্নত করুন। এটি এখন আপনাকে API 31 থেকে 33 তে বেসলাইন প্রোফাইল পরিমাপের জন্য প্রোফাইলইনস্টলার সংস্করণ (1.2.1) আপডেট করতে বলে, এটি সমর্থিত নয় বলার পরিবর্তে। ( IA517f , b/253519888 )
- ত্রুটি বার্তায় বেশ কয়েকটি শেল কমান্ড ব্যর্থতা ঠিক করুন প্রিন্ট প্রয়োজনীয় API <=23, ব্যর্থ পারফেটো ক্যাপচার বাইনারি সেটআপ এবং ট্রেস ক্যাপচার ব্যর্থতা সহ ( Ib6b87 , b/258863685 )
- স্বয়ংক্রিয়ভাবে তৈরি করা প্রোফাইল নিয়মগুলিকে বাছাই করুন যাতে সময়ের সাথে সাথে পরিবর্তনের সংখ্যা কম হয় (প্রোফাইল নিয়মগুলিকে উত্স নিয়ন্ত্রণে চেক-ইন করার সময়)। ( e2509 )
-
Expected no stderr from echo 3 > /proc/sys/vm/drop_caches
( I6c245 , b/259508183 ) থেকে প্রত্যাশিত কোন stderr বার্তা সহ Android 13 (API 33) এর নীচে আনরুট না করা বিল্ডগুলিতে স্থির ক্র্যাশ
পরিচিত সমস্যা - MacrobenchmarkScope.dropShaderCache()
প্রোফাইলইনস্টলার ম্যানিফেস্টে একটি অনুপস্থিত সম্প্রচার রেজিস্ট্রির কারণে ক্র্যাশ হতে পারে, যা এখনও প্রকাশিত হয়নি৷ ( I5c728 , b/258619948 ) profileinstaller:1.3.0-alpha02
, আপনার অ্যাপ্লিকেশনের (আপনার বেঞ্চমার্কের নয়) AndroidManifest.xml-এ নিম্নলিখিতগুলি যুক্ত করুন:
<!-- workaround bug in profileinstaller 1.3.0-alpha02, remove when updating to alpha03+ -->
<receiver
android:name="androidx.profileinstaller.ProfileInstallReceiver"
android:permission="android.permission.DUMP"
android:exported="true">
<intent-filter>
<action android:name="androidx.profileinstaller.action.BENCHMARK_OPERATION" />
</intent-filter>
</receiver>
সংস্করণ 1.2.0-alpha07
9 নভেম্বর, 2022
androidx.benchmark:benchmark-*:1.2.0-alpha07
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha07 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
- ম্যাক্রোবেঞ্চমার্কে শক্তি এবং শক্তি পরিমাপের জন্য
PowerMetric
API যোগ করে। ( Ife601 , b/220183779 ) - স্থির
MacrobenchmarkScope.dropShaderCache()
আসলে shader ক্যাশে ড্রপ করতে। এটিStartupMode.COLD
বেঞ্চমার্ক থেকে প্রায় 20ms আওয়াজ সরিয়ে দেয়, কারণ শেডারগুলি এখন প্রতিটি পুনরাবৃত্তিকে ধারাবাহিকভাবে পরিষ্কার করা হয়। পূর্বে, ওয়ার্মআপ পুনরাবৃত্তি ব্যবহার করেPartial
সংকলন ভুলভাবে দ্রুত সংখ্যার রিপোর্ট করবে, কারণ ওয়ার্মআপের সময় শেডার ক্যাশিং হওয়ার সম্ভাবনা বেশি ছিল। এই ফিক্সের জন্য হয় একটি রুটেড ডিভাইস প্রয়োজন, অথবা টার্গেট অ্যাপেprofileinstaller:1.3.0-alpha02
ব্যবহার করা প্রয়োজন।ProfileInstaller
লাইব্রেরির API পরিবর্তনের জন্য, অনুগ্রহ করে ProfileInstaller 1.30-alpha02 পৃষ্ঠা দেখুন। ( IA5171 , b/231455742 ) - যোগ করা হয়েছে
TraceSectionMode("label", Mode.Sum)
, একই লেবেল সহ একাধিক ট্রেস বিভাগে ব্যয় করা মোট সময় পরিমাপের অনুমতি দেয়৷ উদাহরণস্বরূপ,TraceSectionMetric("inflate", Mode.Sum)
মুদ্রাস্ফীতিতে ব্যয় করা ম্যাক্রোবেঞ্চমার্কে মোট সময়ের জন্য একটি মেট্রিকinflateMs
রিপোর্ট করবে। এছাড়াও API 29 প্রয়োজনীয়তা সরিয়ে দেওয়া হয়েছে, কারণTraceSectionMetric
androidx.tracing.Trace
এর সাথে একসাথে কাজ করে। টার্গেট অ্যাপের মধ্যেforceEnableAppTracing
ব্যবহার করে নিম্ন API স্তরে ফিরে আসে। ( Id7b68 , b/231455742 )
বাগ ফিক্স
- সমস্ত আউটপুট/ত্রুটি যাচাই করে সমস্ত অভ্যন্তরীণ শেল কমান্ডের উন্নত নিরাপত্তা। ( I5984d , b/255402908 , b/253094958 )
- বেসলাইন প্রোফাইল
adb pull
কমান্ডে ডিভাইস নির্দিষ্ট করুন, যাতে একাধিক ডিভাইস সংযুক্ত থাকলে (একটি এমুলেটর পর্যন্ত) ( I6ac6c , b/223359380 ) হলে পুল কমান্ডটি সহজভাবে অনুলিপি করা যেতে পারে - ম্যাক্রোবেঞ্চমার্ক টেস্ট apk স্ব-ইনস্ট্রুমেন্টিং হিসাবে সেট আপ না হলে ত্রুটি যোগ করুন। এই ত্রুটিটি লক্ষ্য অ্যাপের প্রক্রিয়ার মধ্যে থেকে ম্যাক্রোবেঞ্চমার্কিংকে বাধা দেয়। প্রক্রিয়াধীন, ম্যাক্রোব্যাঞ্চ অ্যাপ্লিকেশনটি সংকলন/হত্যা/ঠান্ডা শুরু করতে বা তার নিজস্ব অনুমতিগুলি নিয়ন্ত্রণ করতে সক্ষম হবে না ( আই 4279 বি )
-
measureRepeated()
এ একটি সমস্যা স্থির করে যেখানেStartupMode.COLD
setupBlock
পরে লক্ষ্য প্রক্রিয়াটিকে হত্যা করবে না। এখন অ্যাপ্লিকেশনটির সাথে ইন্টারঅ্যাক্ট করাsetupBlock
অ্যাপ প্রক্রিয়াটি চলবে না এবং একটি অবৈধ ঠান্ডা শুরু পরিমাপ করবে না। ( I8ebb7 )
সংস্করণ 1.2.0-আলফা 06
24 অক্টোবর, 2022
androidx.benchmark:benchmark-*:1.2.0-alpha06
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-ALPHA06 এর মধ্যে এই কমিট রয়েছে।
এপিআই পরিবর্তন
-
BaselineProfileRule
আর অ্যান্ড্রয়েড 13 (এপিআই 33) এর মূলের প্রয়োজন হয় না এবং এটি আর পরীক্ষামূলক নয়। ( আই 0 এ 7 ডি , বি/250083467 , বি/253094958 )- এই পরিবর্তনটি কীভাবে কোনও অ্যাপ্লিকেশন থেকে প্রোফাইলগুলি আনরোটেড ডিভাইসে ডিস্কে ফ্লাশ করা হয় তাও সংশোধন করে তবে লক্ষ্য অ্যাপের প্রোফাইল ইনস্টলার নির্ভরতা আপডেট করার প্রয়োজন।
-
BaselineProfileRule
বাCompilationMode.Partial(warmupIterations)
একটি আনরোটেড ডিভাইসে ব্যবহার করতে, আপনাকে অবশ্যইandroidx.profileinstaller.profileinstaller:1.3.0-alpha01
ব্যবহার করতে আপনার লক্ষ্য অ্যাপটি আপডেট করতে হবে। এটি ডিস্কে প্রোফাইলটি সঠিকভাবে ফ্লাশ করতে সক্ষম করে, যাতে এটি সংকলন/নিষ্কাশন করা যায়।
বাগ ফিক্স
- এপিআই 33+ এ
SampledProfiling
ক্র্যাশ ফিক্স। ( I40743 , খ/236109374 )
সংস্করণ 1.2.0-alpha05
5 অক্টোবর, 2022
androidx.benchmark:benchmark-*:1.2.0-alpha05
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-ALPHA05 এর মধ্যে এই কমিট রয়েছে।
বাগ ফিক্স
- স্টুডিও সিস্টেমে ফ্রেম ব্রেকডাউন ফিক্স করুন বেঞ্চমার্ক ক্যাপচারিত ট্রেসগুলির জন্য ভিউয়ার ট্রেস ভিউয়ার ( আই 3 এফ 3 এএ , বি/239677443 )
-
FrameTimingMetric
সঠিকFrameOverrun
29 এর পরিবর্তে এপিআই 31 প্রয়োজন হিসাবে তালিকাভুক্ত করতে ( i716dd , খ/220702554 ) -
BaselineProfileRule
পুনরাবৃত্তি সেট করুন এবং টার্গেট প্যাকেজটি ইনস্টল না করা থাকলে (ম্যাক্রোব্যাঞ্চমার্ক্রুলের জন্য ইতিমধ্যে সম্পন্ন হয়েছিল) স্পষ্টভাবে নিক্ষেপ করুন। ( আইসি 09 এ 3 , বি/227991471 )
সংস্করণ 1.2.0-alpha04
21শে সেপ্টেম্বর, 2022
androidx.benchmark:benchmark-*:1.2.0-alpha04
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-ALPHA04 এর মধ্যে এই কমিট রয়েছে।
নতুন বৈশিষ্ট
দ্রুত স্থানীয় বিকাশের জন্য ম্যাক্রোব্যাঞ্চমার্কে (ইতিমধ্যে মাইক্রোতে উপলভ্য)
dryRunMode.enable
জন্য সমর্থন যুক্ত করুন এবং অ্যাপ্লিকেশন অটোমেশনকে বৈধকরণ (যেমন প্রেসবিমিট)। এটি 1 এর পুনরাবৃত্তিগুলিকে ওভাররাইড করে, সংকলন এড়িয়ে যায়, সমস্ত কনফিগারেশন ত্রুটি দমন করে এবং পরিমাপ অক্ষম করে J জসন ফাইল আউটপুট। ( আইবি 51 বি 4 , বি/175149857 )গ্রেড কমান্ড লাইনে:
./gradlew macrobenchmark:cC -P android.testInstrumentationRunnerArguments.androidx.benchmark.dryRunMode.enable=true
build.gradle-এ:
android { defaultConfig { testInstrumentationRunnerArgument 'androidx.benchmark.dryRunMode.enable', 'true' } }
বাগ ফিক্স
- ফিক্সড
StartupTimingMetric
জন্য আরMacrobenchmarkScope.startActivityAndWait()
এর মাধ্যমে আর পরিমাপের ক্রিয়াকলাপগুলি চালু করার প্রয়োজন নেই। এর অর্থ মেট্রিক ইজি বিজ্ঞপ্তি,Context.startActivity()
, ইন-অ্যাপ্লিকেশন ক্রিয়াকলাপ ভিত্তিক নেভিগেশন বা শেল কমান্ডগুলি থেকে লঞ্চগুলি বেছে নিতে পারে। ( আইএ 2 ডি 6 , বি/245414235 ) - বাগটি ঠিক করুন যেখানে
startActivityAndWait
ফ্রেম সনাক্তকরণের কঠোরতা হ্রাস করে এমুলেটরগুলিতে লঞ্চ সমাপ্তির জন্য অপেক্ষা করার সময়সীমা সময়আউট করবে। ( আইবিই 2 সি 6 , বি/244594339 , বি/228946895 )
সংস্করণ 1.2.0-alpha03
7 সেপ্টেম্বর, 2022
androidx.benchmark:benchmark-*:1.2.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha03 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট
-
BenchmarkState
স্বাধীনভাবে ব্যবহারের জন্য পরীক্ষামূলক এপিআই যুক্ত করা হয়েছে,BenchmarkRule
/JUnit4
থেকে পৃথক। ( আইডি 478 এফ , বি/228489614 )
বাগ ফিক্স
-
startActivityAndWait
জন্য লিনব্যাক ফ্যালব্যাক যুক্ত করা হয়েছে। ( 01 এড 77 , বি/242899915 )
সংস্করণ 1.2.0-alpha02
24 আগস্ট, 2022
androidx.benchmark:benchmark-*:1.2.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha02 এই কমিট ধারণ করে।
এপিআই পরিবর্তন
- বেসলাইন প্রোফাইল প্রজন্মের সময় ব্যতীত, এমনকি শিকড় থাকা অবস্থায়ও
MacrobenchmarkScope.killProcess()
এর জন্যam force stop
ডিফল্ট। এটি একটি al চ্ছিক বুলিয়ান আর্গুমেন্ট দিয়ে ওভাররাইড করা যেতে পারে। ( 02CCE9 , খ/241214097 )
বাগ ফিক্স
- সিস্টেম অ্যাপ্লিকেশনগুলির জন্য বেসলাইন প্রোফাইল প্রজন্মকে সমর্থন করুন। ( I900b8 , খ/241214097 )
- আনরোটেড ডিভাইসগুলিতে ওডিপিএম পাওয়ার মেট্রিকগুলির জন্য চেকিং সমর্থন করুন। ( A38C78 , বি/229623230 )
সংস্করণ 1.2.0-alpha01
জুলাই 27, 2022
androidx.benchmark:benchmark-*:1.2.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha01-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট
- নতুন ট্রেসিং-পারফেটো-কমন উপাদানটি একটি অ্যাপ্লিকেশনটিতে পারফেটো এসডিকে ট্রেসিং সক্ষম করতে টুলিংকে অনুমতি দেয় যা এটি প্রকাশ করে ( i2cc7f )
ফিল্টারিং ম্যাক্রোব্যাঞ্চমার্ককে কেবল বেঞ্চমার্কগুলিতে চালিত করে বা কেবল বেসলাইন প্রোফাইল প্রজন্মের জন্য সক্ষম করতে
androidx.benchmark.enabledRules
ইন্সট্রুমেন্ট আর্গুমেন্ট যুক্ত করা হয়েছে। কেবলমাত্র এক ধরণের পরীক্ষা চালানোর জন্য 'ম্যাক্রোব্যাঞ্চমার্ক', বা 'বেসলাইনপ্রোফাইল' এ পাস করুন, যেমন কোনও এমুলেটরটিতে কেবলBaselineProfiles
তৈরি করার সময়। কমা-বিচ্ছিন্ন তালিকাও সমর্থিত। ( I756b7 , বি/230371561 )যেমন আপনার ম্যাক্রোব্যাঞ্চমার্কের বিল্ড.গ্র্যাডল:
android { defaultConfig { testInstrumentationRunnerArgument 'androidx.benchmark.enabledRules', 'BaselineProfile' } }
বা গ্রেডল কমান্ড লাইন থেকে:
./gradlew macrobenchmark:cC -P android.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile
এপিআই পরিবর্তন
- বেঞ্চমার্কগুলিতে শক্তি এবং পাওয়ার কাজগুলি পরিমাপের জন্য নতুন
PowerMetric
যুক্ত করা হয়েছে। ( I9f39b , খ/220183779 ) - প্রোফাইল রিসেট এবং সংকলন এড়াতে একটি নতুন সংকলন মোড
CompilationMode.Ignore
যুক্ত করা হয়েছে। ( আইবিবিসিএফ 8 , বি/230453509 ) - প্যাকেজের নাম অনুসারে আউটপুট ফাইল ফিল্টার করতে
BaselineProfileRule#collectBaselineProfile
জন্য একটি নতুন প্যারামিটার যুক্ত করা হয়েছে ( আইএফ 7338 , বি/220146561 ) - পাওয়ার ড্রেন পরিমাপ করতে বিকাশকারীকে ডিভাইস স্রাব করতে সক্ষম করে। ( I6a6cb )
-
MacrobenchmarkScope
শেডার ক্যাশে সাফ করার ক্ষমতা যুক্ত করেছে। ( I32122 ) - বিকাশকারীকে মেট্রিক টাইপ এবং বিশদ পছন্দসই সাবসিস্টেম বিভাগগুলির প্রদর্শন কনফিগার করতে সক্ষম করে। ( I810c9 )
- পূর্বে একটি অসমর্থিত ডিভাইসে চালিত হলে একটি
UnsupportedOperationException
বেঞ্চমার্কে ফেলে দেওয়া হয়েছিল। এখন ইউওই কেবল তখনই ঘটে যদি মেট্রিকটি অসমর্থিত ডিভাইসে (যেমন:PowerMetric.configure
) ব্যবহার করা হয়। ( I5cf20 , খ/227229375 ) - ম্যাক্রোব্যাঞ্চমার্কগুলিতে প্রতিটি সিস্টেম বিভাগে মোট শক্তি এবং শক্তি পরিমাপের জন্য
TotalPowerMetric
এবংTotalEnergyMetric
যুক্ত করা হয়েছে। ( আই 3 বি 26 বি , বি/224557371 )
বাগ ফিক্স
- এমন একটি সমস্যা স্থির করা হয়েছে যেখানে সংকলিত পদ্ধতিগুলি আনরোটেড বিল্ডগুলিতে প্রতিটি ম্যাক্রোব্যাঞ্চমার্কের মধ্যে সঠিকভাবে পুনরায় সেট করা হচ্ছে না। দুর্ভাগ্যক্রমে এটির প্রতিটি পুনরাবৃত্তিটি পুনরায় ইনস্টল করা দরকার, যা প্রতিটি ম্যাক্রোব্যাঞ্চমার্কের জন্য অ্যাপ্লিকেশন ডেটা সাফ করবে। ( I31c74 , বি/230665435 )
- এপিআই 21/22 এ ট্রেস রেকর্ডিং ক্র্যাশ ফিক্স করুন ( আইএফ 7 এফডি 6 , বি/227509388 , বি/227510293 , বি/227512788 )
- স্টার্টআপ ম্যাক্রোব্যাঞ্চমার্কগুলিতে 'কোনও মেট্রিকগুলি পড়তে অক্ষম' ঠিক করার জন্য ওভারহল অ্যাক্টিভিটি লঞ্চ সমাপ্তি সনাক্তকরণ। ( আইএ 517 সি )
সংস্করণ 1.1.1
সংস্করণ 1.1.1
9 নভেম্বর, 2022
androidx.benchmark:benchmark-*:1.1.1
প্রকাশিত হয়েছে। সংস্করণ 1.1.1 এই কমিট ধারণ করে.
বাগ ফিক্স
- ফিক্সস
android.system.ErrnoException: open failed: EACCES
। এটি1.2.0-alpha01
থেকে একটি ফিক্সের চেরি-পিক। ( এওএসপি/2072249 )
সংস্করণ 1.1.0
সংস্করণ 1.1.0
15 জুন, 2022
androidx.benchmark:benchmark-*:1.1.0
প্রকাশিত হয়েছে। সংস্করণ 1.1.0 এই কমিট ধারণ করে.
- এই সংস্করণটি
androidx.benchmark:benchmark-*:1.1.0-rc03
এর অনুরূপ।
1.0.0 থেকে গুরুত্বপূর্ণ পরিবর্তন
জেটপ্যাক ম্যাক্রোব্যাঞ্চমার্কগুলির জন্য সমর্থন, যা আপনাকে স্টার্টআপ এবং স্ক্রোলিংয়ের মতো পুরো অ্যাপ্লিকেশন ইন্টারঅ্যাকশনগুলি পরিমাপ করতে দেয়, ট্রেসগুলি ক্যাপচার এবং ট্রেস বিভাগগুলি পরিমাপ করার ক্ষমতা সরবরাহ করে।
বেসলাইন প্রোফাইলগুলির জন্য সমর্থন
- বেসলাইন প্রোফাইলগুলির কার্যকারিতা পরিমাপ করতে
CompilationMode.Partial
। - প্রদত্ত সমালোচনামূলক ব্যবহারকারী ভ্রমণের জন্য বেসলাইন প্রোফাইলগুলি স্বয়ংক্রিয়ভাবে উত্পন্ন করতে
@BaselineProfileRule
।
- বেসলাইন প্রোফাইলগুলির কার্যকারিতা পরিমাপ করতে
মাইক্রোব্যাঞ্চমার্ক রানের সময় বরাদ্দ মেট্রিক্স এবং প্রোফাইলিংয়ের জন্য সমর্থন।
সংস্করণ 1.1.0-আরসি 03
জুন 1, 2022
androidx.benchmark:benchmark-*:1.1.0-rc03
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-আরসি 03 এ এই কমিটগুলি রয়েছে।
বাগ ফিক্স
প্রতিটি বেঞ্চমার্ক পুনরাবৃত্তিতে লক্ষ্য প্যাকেজটি পুনরায় ইনস্টল করা এড়িয়ে চলুন। ( এওএসপি/2093027 , বি/231976084 )
pressHome()
থেকে300ms
বিলম্ব সরান। ( এওএসপি/2086030 , বি/231322975 )হুডের নীচে ব্যবহৃত শেল কমান্ডগুলি অনুকূল করে ম্যাক্রোব্যাঞ্চমার্ক পুনরাবৃত্তির গতি উন্নত করুন। ( এওএসপি/2086023 , বি/231323582 )
ম্যাক্রোব্যাঞ্চমার্কগুলির সাথে বেসলাইন প্রোফাইল তৈরি করার সময় পরিচালিত গ্রেডল ডিভাইসগুলির জন্য সমর্থন। ( এওএসপি/2062228 , বি/228926421 )
সংস্করণ 1.1.0-আরসি 02
11 মে, 2022
androidx.benchmark:benchmark-*:1.1.0-rc02
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-আরসি 02 এ এই কমিটগুলি রয়েছে।
- নোট করুন যে এই রিলিজটিতে একটি আচরণ পরিবর্তন অন্তর্ভুক্ত রয়েছে, কারণ সঠিক পরিমাপ নিশ্চিত করার জন্য অ্যাপস এখন প্রতিটি বেঞ্চমার্কের মধ্যে পুরোপুরি পুনরায় ইনস্টল করা হয়েছে।
বাগ ফিক্স/আচরণ পরিবর্তন
এমন একটি সমস্যা স্থির করা হয়েছে যেখানে অ্যাপ্লিকেশন সংকলনটি ম্যাক্রোব্যাঞ্চমার্কগুলির মধ্যে সঠিকভাবে পুনরায় সেট করা হয়নি, এবং আনরোটেড বিল্ডগুলিতে মোটেও পুনরায় সেট করা হয়নি। এটি অনেকগুলি ক্ষেত্রে স্থির করে যেখানে একাধিক পরীক্ষা চালানোর ফলে
CompilationMode
পরিমাপের উপর খুব কম প্রভাব পড়বে না। এই সমস্যাটি কার্যকর করার জন্য, লক্ষ্য অ্যাপটি এখন প্রতিটি পরীক্ষার পদ্ধতি সম্পূর্ণরূপে পুনরায় ইনস্টল করছে, যা প্রতিটি ম্যাক্রোব্যাঞ্চমার্কের মধ্যে অ্যাপ্লিকেশন ডেটা সাফ করবে। ( I31c74 , বি/230665435 )যেহেতু এটি পরীক্ষার আগে অ্যাপ্লিকেশনগুলিকে রাষ্ট্র স্থাপন থেকে বাধা দেয়, এখন এই চারপাশে কাজ করতে সক্ষম করতে সংকলন / পুনঃস্থাপন এড়ানো সম্ভব। উদাহরণস্বরূপ আপনি শেল কমান্ড
cmd package compile -f -m speed <package>
এবং তারপরে ম্যাক্রোব্যাঞ্চমার্কের সংকলন পদক্ষেপটি বাইপাস করে লক্ষ্যটি সম্পূর্ণরূপে সংকলন করতে পারেন।যেমন আপনার ম্যাক্রোব্যাঞ্চমার্কের বিল্ড.গ্র্যাডল:
android { defaultConfig { testInstrumentationRunnerArgument 'androidx.benchmark.compilation.enabled, 'false' } }
বা গ্রেডল কমান্ড লাইন থেকে:
./gradlew macrobenchmark:cC -P android.testInstrumentationRunnerArguments.androidx.benchmark.compilation.enabled=false
androidx.benchmark.enabledRules
ইন্সট্রুমেন্টেশন আর্গুমেন্ট যুক্ত করে ম্যাক্রোব্যাঞ্চমার্ক এবং বেসলাইন প্রোফাইল উত্পন্ন পরীক্ষাগুলির মধ্যে একটি মডিউল ভাগ করে নেওয়া সম্ভব করেছে। এমুলেটরটিতেBaselineProfiles
তৈরি করার সময় কেবল এক ধরণের পরীক্ষা চালানোর জন্য 'ম্যাক্রোব্যাঞ্চমার্ক', বা 'বেসলাইনপ্রোফাইল' পাস করুন। ( I756b7 , বি/230371561 )যেমন আপনার ম্যাক্রোব্যাঞ্চমার্কের বিল্ড.গ্র্যাডল:
android { defaultConfig { testInstrumentationRunnerArgument 'androidx.benchmark.enabledRules', 'BaselineProfile' } }
বা গ্রেডল কমান্ড লাইন থেকে:
./gradlew macrobenchmark:cC -P android.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile
সংস্করণ 1.1.0-rc01
20 এপ্রিল, 2022
androidx.benchmark:benchmark-*:1.1.0-rc01
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-rc01-এ এই কমিট রয়েছে।
বাগ ফিক্স
- অ্যান্ড্রয়েড স্টুডিওতে বেসলাইন প্রোফাইল আউটপুট লিঙ্কগুলি এখন একটি অনন্য ফাইলের নাম ব্যবহার করে। এইভাবে আউটপুট সর্বদা একটি
BaselineProfileRule
ব্যবহারের সর্বশেষ ফলাফলগুলি প্রতিফলিত করে। ( এওএসপি/2057008 , বি/228203086 )
সংস্করণ 1.1.0-BETA06
6 এপ্রিল, 2022
androidx.benchmark:benchmark-*:1.1.0-beta06
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-BETA06 এর মধ্যে এই কমিট রয়েছে।
বাগ ফিক্স
- এপিআই 21/22 এ ট্রেস রেকর্ডিং ক্রাশ ঠিক করুন ( if7fd6 , খ/227509388 )
- স্টার্টআপ ম্যাক্রোব্যাঞ্চমার্কগুলিতে 'কোনও মেট্রিকগুলি পড়তে অক্ষম' ঠিক করার জন্য ওভারহল অ্যাক্টিভিটি লঞ্চ সমাপ্তি সনাক্তকরণ। ( আইএ 517 সি )
- যখন
CompilationMode.None()
ব্যবহার করা হয় তখন ম্যাক্রোব্যাঞ্চমার্কগুলির জন্য স্টার্টআপ মেট্রিকগুলি ঠিক করুন। এই পরিবর্তনের আগে,CompilationMode.Partial()
Compilation.None()
। ( 611AC9 )।
সংস্করণ 1.1.0-BETA05
23 মার্চ, 2022
androidx.benchmark:benchmark-*:1.1.0-beta05
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-BETA05 এর মধ্যে এই কমিট রয়েছে।
বাগ ফিক্স
-
CompilationMode.None
ব্যবহার করার সময় প্রোফাইল ইনস্টলেশন এড়িয়ে যাওয়ার পরে প্যাকেজটি মেরে ফেলুন। ( এওএসপি/1991373 ) - এমন একটি সমস্যা স্থির করে যেখানে ম্যাক্রোব্যাঞ্চমার্কগুলি
StartupMode.COLD
ব্যবহার করার সময় স্টার্টআপ মেট্রিকগুলি সংগ্রহ করতে অক্ষম। ( এওএসপি/2012227 বি/218668335 )
সংস্করণ 1.1.0-BETA04
23 ফেব্রুয়ারি, 2022
androidx.benchmark:benchmark-*:1.1.0-beta04
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-BETA04 এর মধ্যে এই কমিট রয়েছে।
বাগ ফিক্স
অ্যান্ড্রয়েড 10 এ নিখোঁজ মেট্রিকগুলি ঠিক করুন এবং প্রক্রিয়া নামগুলি ট্রেসগুলিতে সঠিকভাবে ক্যাপচার না করা হচ্ছে এমন কারণে
NoSuchElementException
। ( আইবি 4 সি 17 , বি/218668335 )কিউ (এপিআই 29) এবং উচ্চতর উপর তাপীয় থ্রোটলিং সনাক্তকরণের জন্য
PowerManager
ব্যবহার করুন। এটি তাপীয় থ্রোটলিং সনাক্তকরণে মিথ্যা ইতিবাচকতার ফ্রিকোয়েন্সি উল্লেখযোগ্যভাবে হ্রাস করে (90 সেকেন্ডের কোলডাউনের পরে বেঞ্চমার্ক পুনরায় চেষ্টা করুন) এবং ব্যবহারকারী বিল্ডগুলিতে উল্লেখযোগ্যভাবে বেঞ্চমার্কগুলিকে গতি বাড়িয়ে তোলে। ঘড়িগুলি লক করা থাকলেও এটি থ্রোটল সনাক্তকরণও সরবরাহ করে (যদি তারা ডিভাইসের শারীরিক পরিবেশের জন্য খুব বেশি লক থাকে)। ( I9c027 , বি/217497678 , বি/131755853 )ফিল্টার সিম্পলপার্ফ কেবলমাত্র পরিদর্শনকে সহজ করার জন্য
measureRepeated
থ্রেডে প্রোফাইলের নমুনা তৈরি করেছেন ( আইসি 3 ই 12 , বি/217501939 )মাল্টি-প্রসেস অ্যাপ্লিকেশনগুলিতে নামকরণ করা ইউআই সাবপ্রসেসগুলি থেকে মেট্রিকগুলি সমর্থন করুন ( আইস 6 সি 0 , বি/215988434 )
অ্যান্ড্রয়েড 9 (এসডিকে 28) টার্গেট করতে বেসলাইন প্রোফাইলের বিধিগুলি ফিল্টার করুন। এওএসপি/1980331 বি/216508418
Compilation.None()
ব্যবহার করার সময় প্রোফাইল ইনস্টলেশন এড়িয়ে যান। অতিরিক্তভাবে, অ্যাপ্লিকেশনটি যখনandroidx.profileinstaller
এবং অ্যান্ড্রয়েড গ্রেডল প্লাগইনের একটি পুরানো সংস্করণ ব্যবহার করছে তখন সতর্কতার প্রতিবেদন করুন। এওএসপি/1977029
সংস্করণ 1.1.0-beta03
ফেব্রুয়ারী 9, 2022
androidx.benchmark:benchmark-*:1.1.0-beta03
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-beta03-এ এই কমিট রয়েছে।
এপিআই পরিবর্তন
- অডিও আন্ডাররানগুলি সনাক্তকরণের অনুমতি দেওয়ার জন্য পরীক্ষামূলক পতাকার অধীনে ম্যাক্রোব্যাঞ্চমার্ক লাইব্রেরিতে
AudioUnderrunMetric
যুক্ত করা হয়েছে ( আইবি 5972 ) BaselineProfileRule
আর কোনওsetup
ব্লক গ্রহণ করে না কারণ এটিprofileBlock
মতো একই কাজ করে। ( আইসি 7 ডিএফই , বি/215536447 )যেমন
@Test fun collectBaselineProfile() { baselineRule.collectBaselineProfile( packageName = PACKAGE_NAME, setupBlock = { startActivityAndWait() }, profileBlock = { // ... } ) }
@Test fun collectBaselineProfile() { baselineRule.collectBaselineProfile( packageName = PACKAGE_NAME, profileBlock = { startActivityAndWait() // ... } ) }
বাগ ফিক্স
- স্থির সমস্যা যেখানে স্টুডিও আউটপুট ( i5ae4d , b/214917025 ) লিঙ্কযুক্ত অবস্থায় মাইক্রোব্যাঞ্চ প্রোফাইলার ট্রেসগুলি পরবর্তী রানগুলিতে আপডেট হতে ব্যর্থ হবে
- এপিআই 23 এ সংকলন শেল কমান্ডগুলি প্রতিরোধ করুন ( আইস 380 )
-
FrameCpuTime
নামকরণ করা হয়েছে ->FrameDurationCpu
,FrameUiTime
->FrameDurationUi
এইগুলি স্পষ্ট করে তুলতে এই সময়সীমা, টাইমস্ট্যাম্পগুলি নয় এবং উপসর্গগুলির সাথে মেলে। ( I0eba3 , খ/216337830 )
সংস্করণ 1.1.0-beta02
জানুয়ারী 26, 2022
androidx.benchmark:benchmark-*:1.1.0-beta02
প্রকাশিত হয়েছে। 1.1.0-beta02 সংস্করণে এই কমিট রয়েছে।
বাগ ফিক্স
- মাইক্রোব্যাঞ্চমার্ক স্ট্যাক স্যাম্পলিং / পদ্ধতি ট্রেসিং প্রোফাইল ফলাফলগুলি এখন অন্যান্য প্রোফাইলিং আউটপুটগুলির অনুরূপ স্টুডিও আউটপুটে লিঙ্কযুক্ত এবং বরাদ্দ মেট্রিককে দমন করে না। ( আইডিসিবি 65 , বি/214440748 , বি/214253245 )
- বেসলাইনপ্রোফিলারুল এখন উত্পন্ন বেসলাইনপ্রোফাইল পাঠ্য ফাইলটি টানানোর জন্য লগক্যাট এবং স্টুডিও আউটপুটে
adb pull
কমান্ড প্রিন্ট করে। ( F08811 )
সংস্করণ 1.1.0-beta01
জানুয়ারী 12, 2022
androidx.benchmark:benchmark-*:1.1.0-beta01
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-beta01-এ এই কমিট রয়েছে।
বাগ ফিক্স
- ফিক্সগুলি প্রোফাইলার যুক্তি উপেক্ষা করা সক্ষম করে। ( I37373 , বি/210619998 )
- অবহেলিত
CompliationModes
সরানো হয়েছে ( i98186 , বি/213467659 ) -
CompilationMode.Partial
বেসলাইন প্রোফাইল আরগ স্যুইচড। স্পষ্টতার জন্য এনাম থেকে পার্টিয়াল। ( ID67EA )
সংস্করণ 1.1.0-আলফা 13
15 ডিসেম্বর, 2021
androidx.benchmark:benchmark-*:1.1.0-alpha13
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-আলফা 13 এ এই কমিটগুলি রয়েছে।
এপিআই পরিবর্তন
- অ্যান্ড্রয়েড কিউ (এপিআই 29+) এ মাইক্রোব্যাঞ্চ আউটপুটে লো-ওভারহেড সিস্টেম ট্রেসিং যুক্ত করুন। মনে রাখবেন যে এটি বর্তমানে কাস্টম ট্রেসিং (
android.os.Trace
বাandroidx.tracing
jetpack এপিআই দ্বারা) ক্যাপচার করে না ফলাফলগুলি প্রভাবিত করতে এড়াতে। এই ট্রেসিংটি অস্থিরতা নির্ণয়ের ক্ষেত্রে কার্যকর হওয়া উচিত, বিশেষত বেঞ্চমার্কের বাইরের উত্সগুলি থেকে। ( I298Be , খ/205636583 , বি/145598917 ) -
CompilationModes
তিনটি শ্রেণিতে পরিষ্কার করুন - পূর্ণ, কোনওটিই নয়, আংশিক। পূর্বে তাদের সংকলন আর্গুমেন্টগুলি (যা আমরা এখন বাস্তবায়নের বিশদ হিসাবে বিবেচনা করি) এবং বৈশিষ্ট্যগুলির নামানুসারে নামকরণ করা হয়েছিল। এটি প্ল্যাটফর্ম সংস্করণগুলিতে ট্রেড অফস, সম্ভাব্য সংমিশ্রণ এবং আচরণকে আরও পরিষ্কার করে তোলে। ( আই 3 ডি 7 বিএফ , বি/207132597 ) - সেটআপ এবং পরিমাপ এখন সর্বদা জোড়ায় থাকে। আপনি এখন প্যাকেজের নাম এবং পুনরাবৃত্তিটি জিজ্ঞাসা করতে পারেন (যদিও নির্দিষ্ট ওয়ার্মআপ পরিস্থিতিতে পুনরাবৃত্তিটি
null
হতে পারে)। ( আইডি 3 বি 68 , বি/208357448 , বি/208369635 )
বাগ ফিক্স
- স্থির
CompilationMode.Speed
ভুলভাবেNone
হিসাবে বিবেচনা করা হয়নি ( i01137 )
সংস্করণ 1.1.0-আলফা 12
17 নভেম্বর, 2021
androidx.benchmark:benchmark-*:1.1.0-alpha12
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-আলফা 12 এ এই কমিটগুলি রয়েছে।
নতুন বৈশিষ্ট
- কাস্টম ট্রেস-ভিত্তিক সময় পরিমাপের জন্য পরীক্ষামূলক ট্রেসসেকশনমেট্রিক যুক্ত করুন। ( I99db1 , খ/204572664 )
বাগ ফিক্স
- ইউআই পরীক্ষা করা যেতে পারে তা নিশ্চিত করার জন্য প্রতিটি পুনরাবৃত্তির ডিভাইস জাগিয়ে নিন - লকস্ক্রিনটি অক্ষম করা দরকার। ( আইবিএফএ 28 , বি/180963442 )
- এমুলেটর এবং অ-মূলযুক্ত ডিভাইসগুলিতে স্ট্যাকস্যাম্পলিং প্রোফাইলিং মোডে একাধিক ক্র্যাশগুলি স্থির করে ( আইসিডিবিডিএ , বি/202719335 )
- প্রতিটি পুনরাবৃত্তির শেষে 0.5 সেকেন্ডের ঘুম সরানো হয়েছে - আপনি যদি এই পরিবর্তনের সাথে অনুপস্থিত মেট্রিকগুলি দেখতে পান তবে দয়া করে একটি বাগ ফাইল করুন। ( Iff6aa )
- ড্রপড ডেটার সম্ভাবনা হ্রাস করুন এবং ট্রেসিং থেকে কম মেমরি ওভারহেড ( আইডি 2544 , বি/199324831 , বি/204448861 )
- কমপ্যাক্ট সময়সূচী স্টোরেজ ফর্ম্যাটে স্যুইচ করে ট্রেসের আকার ~ 40% হ্রাস করুন। ( আইডি 5 এফবি 6 , বি/199324831 )
- রেন্ডারথ্রেডের শেষে সর্বদা শেষ হওয়ার জন্য স্টার্টআপ মেট্রিকগুলির আপডেট হওয়া বাস্তবায়ন। এটি প্ল্যাটফর্ম সংস্করণগুলিতে আরও অবিচ্ছিন্ন এবং অ্যাপ্লিকেশন পরিমাপের আরও ঘনিষ্ঠভাবে মানচিত্র হবে। ( আইসি 6 বি 55 )
সংস্করণ 1.1.0-আলফা 11
3 নভেম্বর, 2021
androidx.benchmark:benchmark-*:1.1.0-alpha11
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-আলফা 11 এ এই কমিটস রয়েছে।
এপিআই পরিবর্তন
- ম্যাক্রোব্যাঞ্চমার্কের এখন
23
minSdkVersion
রয়েছে। ( আইএফ 2655 ) - একটি নতুন পরীক্ষামূলক
BaselineProfileRule
যুক্ত করে যা অ্যাপের সমালোচনামূলক ব্যবহারকারী ভ্রমণের জন্য বেসলাইন প্রোফাইল তৈরি করতে সক্ষম। অনুসরণ করার জন্য বিশদ ডকুমেন্টেশন। ( আইবিএফএফএ , বি/203692160 ) - পরিমাপক ইন্টারফেস বৈকল্পিক অপসারণ করে, যা জাভা কলারদের জন্য যুক্ত করা হয়েছিল, কারণ এটি পদ্ধতিটি সম্পূর্ণ/সমাধানে অস্পষ্টতার কারণ হয়ে দাঁড়িয়েছে। জাভা কলারদের আবারও ইউনিট ফিরিয়ে দিতে হবে ear যদি এটি কোনও অসুবিধা হয় তবে দয়া করে একটি বাগ ফাইল করুন, আমরা ভবিষ্যতের সংস্করণে এটি পুনর্বিবেচনা করতে পারি। ( আইএফবি 23 ই , বি/204331495 )
সংস্করণ 1.1.0-আলফা 10
27 অক্টোবর, 2021
androidx.benchmark:benchmark-*:1.1.0-alpha10
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-আলফা 10 এ এই কমিটগুলি রয়েছে।
এপিআই পরিবর্তন
- ব্যাকপোর্ট স্টার্টপুপটিমিংমেট্রিক এপিআই 23 এ ফিরে কাজ করার জন্য। এই নতুন বাস্তবায়নটি আরও ভাল হ্যান্ডেলগুলি আরও ভাল হ্যান্ডেলগুলি রিপোর্টলিড্রন () এর সাথে সম্পর্কিত সামগ্রীটি রেন্ডার না হওয়া পর্যন্ত অপেক্ষা করতে আরও ভাল পরিচালনা করে। ( If3ac9 , খ/183129298 )
- জাভা কলারদের জন্য একাধিক ম্যাক্রোব্যাঞ্চমার্কস্কোপ পদ্ধতিতে জেভিএমওভারলোড যুক্ত করা হয়েছে। ( I644fe , খ/184546459 )
- জাভা ভাষায় আইডিয়োম্যাটিক ব্যবহারের জন্য বিকল্প ম্যাক্রোব্যাঞ্চমার্ক্রুল.মিয়াসুরেরপিটেড ফাংশন সরবরাহ করুন যা
Consumer<MacrobenchmarkScope>
ব্যবহার করে। ( If74ab , খ/184546459 )
বাগ ফিক্স
- ট্রেসগুলি পর্যাপ্ত পরিমাণে শুরু না করে এবং মেট্রিক ডেটা অনুপস্থিতের জন্য ঠিক করুন। এটি "বেঞ্চমার্কের সময় কোনও মেট্রিকগুলি পড়তে অক্ষম" ব্যতিক্রমগুলি লাইব্রেরির দ্বারা সৃষ্ট ব্যতিক্রমগুলি ঠিক করবে বলে আশা করা হচ্ছে। ( I6dfcb , খ/193827052 , বি/200302931 )
- ফ্রেমেনেটিভসল্যাককে এর অর্থটি স্পষ্ট করার জন্য ফ্রেমওভাররুনে নামকরণ করা হয়েছে - ফ্রেমটি তার সময়ের বাজেটে কতটা এগিয়ে গেছে। ( I6c2aa , খ/203008701 )
সংস্করণ 1.1.0-Alpha09
13 অক্টোবর, 2021
androidx.benchmark:benchmark-*:1.1.0-alpha09
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-ALPHA09 এ এই কমিটস রয়েছে।
বাগ ফিক্স
- এপিআই 31/এস+তে রুট ছাড়াই কার্নেল পৃষ্ঠা ক্যাশে ড্রপিং সমর্থন করুন, যা স্টার্টআপমোডের যথার্থতা বাড়িয়ে তুলবে old কোল্ড লঞ্চগুলি। ( আইইসিএফডিবি , বি/200160030 )
সংস্করণ 1.1.0-Alpha08
29 সেপ্টেম্বর, 2021
androidx.benchmark:benchmark-*:1.1.0-alpha08
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-ALPHA08 এ এই কমিটগুলি রয়েছে।
এপিআই পরিবর্তন
- স্ক্রোলিং ম্যাক্রোব্যাঞ্চমার্কগুলি এপিআই 23 এ ফিরে যেতে সক্ষম করুন ( আইএফ 39 সি 2 , বি/183129298 )
- ইউআই এবং জেএসওএন আউটপুটে নতুন ধরণের নমুনাযুক্ত মেট্রিক যুক্ত করুন, এটি পুনরাবৃত্তির জন্য একাধিক নমুনার শতাংশের উপর দৃষ্টি নিবদ্ধ করে। ( I56247 , বি/199940612 )
- বেঞ্চমার্ক লাইব্রেরিগুলি জুড়ে ভাসমান পয়েন্ট মেট্রিকগুলিতে স্যুইচ করুন (স্টুডিও ইউআইতে কাটা)। ( I69249 , বি/197008210 )
সংস্করণ 1.1.0-Alpha07
1 সেপ্টেম্বর, 2021
androidx.benchmark:benchmark-*:1.1.0-alpha07
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-ALPHA07 এর মধ্যে এই কমিট রয়েছে।
এপিআই পরিবর্তন
- ভবিষ্যতে সমর্থিত সর্বনিম্ন সর্বনিম্ন এপিআই স্তরটি প্রতিফলিত করতে 21 এ 21 এ উত্থাপিত। বর্তমান মিন এপিআই সমর্থিত প্রয়োজনীয়তাপিআই () এর মাধ্যমে জানানো অব্যাহত রয়েছে এবং বর্তমানে এটি 29 ( আই 440 ডি 6 , বি/183129298 )
বাগ ফিক্স
-
CompilationMode.BaselineProfile
ব্যবহার করে ম্যাক্রোব্যাঞ্চমার্কগুলি চালানোর জন্য বেসলাইন প্রোফাইলগুলি ব্যবহার করে অ্যাপ্লিকেশনগুলির জন্য এটি আরও সহজ করার জন্যProfileInstaller
ফিক্স করে। ( আই 42657 , বি/196074999 ) দ্রষ্টব্য:androidx.profileinstaller:profileinstaller:1.1.0-alpha04
বা তারও বেশি আপডেট করার জন্যও আপডেট করা দরকার। -
StartupMode.COLD
+CompilationMode.None
বেঞ্চমার্কগুলি এখন আরও স্থিতিশীল। ( I770cd , খ/196074999 )
সংস্করণ 1.1.0-alpha06
18 আগস্ট, 2021
androidx.benchmark:benchmark-*:1.1.0-alpha06
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-ALPHA06 এর মধ্যে এই কমিট রয়েছে।
এপিআই পরিবর্তন
- স্থানীয়ভাবে পরীক্ষা/প্রোফাইল দেওয়ার সময় পুনরাবৃত্তি গণনাটির ম্যানুয়াল ওভাররাইডিংয়ের অনুমতি দেওয়ার জন্য
androidx.benchmark.iterations
ইনস্ট্রুমেন্টেশন আর্গুমেন্ট যুক্ত করা হয়েছে। ( 6188 বি , বি/194137879 )
বাগ ফিক্স
- এপিআই 29+ এ ডিফল্ট স্যাম্পলিং প্রোফাইলার হিসাবে সিম্পলফারে স্যুইচ করা হয়েছে। ( আইসি 4 বি 34 , বি/158303822 )
জ্ঞাত সমস্যা
-
CompilationMode.BaselineProfile
একটি কাজ চলছে। আপাতত কোনও প্রোফাইল কতটা ভাল তা নির্ধারণ করতে এটি ব্যবহার করা এড়িয়ে চলুন।
সংস্করণ 1.1.0-Alpha05
4 আগস্ট, 2021
androidx.benchmark:benchmark-*:1.1.0-alpha05
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-ALPHA05 এর মধ্যে এই কমিট রয়েছে।
স্পোর্যাটিক ক্র্যাশের কারণে মুক্তির আগে 1.1.0-alpha04
বাতিল করা হয়েছিল। বি/193827052
এপিআই পরিবর্তন
-
am start
মাধ্যমে লঞ্চটি অনুরোধ করার জন্য স্টার্টঅ্যাক্টিভিটি অ্যান্ডওয়েট স্যুইচ করেছেন, যা প্রতিটি পরিমাপের পুনরাবৃত্তির সময়কে প্রায় 5 সেকেন্ডের দ্বারা হ্রাস করে, আর উদ্দেশ্যমূলক পার্সেলেবলগুলিকে সমর্থন করে না। ( I5a6f5 , খ/192009149
বাগ ফিক্স
- তাপীয় থ্রোটল সনাক্তকরণের আগ্রাসন হ্রাস করুন এবং থ্রোটলগুলি ঘন ঘন সনাক্ত করা থাকলে বেসলাইনটি পুনরায় সংযুক্ত করুন। ( I7327 বি )
- অ্যান্ড্রয়েডের বিটা ( আইবি 60 সিসি , বি/193260119 ) এ কাজ করার জন্য ফ্রেমেটিমিংমেট্রিক ফিক্স করে
-
CompilationMode.BaselineProfile
আরও ভাল সমর্থন করতে একটি ফোর্স-স্টপড রাষ্ট্রের বাইরে টার্গেট অ্যাপটি আনতে একটিEmptyActivity
ব্যবহার করুন। ( আইডি 7 সিএসি , বি/192084204 ) - প্ল্যাটফর্ম স্ট্যান্ডার্ডের সাথে
.perfetto-trace
। ( আই 4 সি 236 , বি/174663039 ) - আপনার অ্যাপ্লিকেশনটি রেন্ডারিং শেষ না হওয়া পর্যন্ত সময় পরিমাপ করার জন্য "সম্পূর্ণরূপে" মেট্রিককে আউটপুট করে। আপনার অ্যাপ্লিকেশনটির জন্য এই মেট্রিকটি সংজ্ঞায়িত করতে, ক্রিয়াকলাপটি কল করুন your আপনার প্রাথমিক সামগ্রী প্রস্তুত থাকাকালীন যেমন আপনার প্রাথমিক তালিকার আইটেমগুলি ডিবি বা নেটওয়ার্ক থেকে লোড করা হয়। (কম্পোনেন্টেটিভিটিতে বিল্ড সংস্করণ চেক ছাড়াই প্রতিবেদনযুক্ত পদ্ধতি উপলব্ধ)। মনে রাখবেন যে মেট্রিকটি ক্যাপচার করার জন্য আপনার পরীক্ষাটি অবশ্যই যথেষ্ট দীর্ঘ চলতে হবে (স্টার্টঅ্যাক্টিভিটিওয়েট এবং রিপোর্টলিড্রনের জন্য অপেক্ষা করে না)। ( If1141 , খ/179176560 )
- 50+ এমএস ( আইসি 8390 , বি/193923003 ) দ্বারা ট্রেসগুলিতে ইউআই মেটাডেটা যুক্ত করার ব্যয় হ্রাস করুন
- ট্রেসিং বন্ধ করার সময় মারাত্মকভাবে জরিপের ফ্রিকোয়েন্সি বৃদ্ধি পেয়েছে, যা ইজি স্টার্টআপ বেঞ্চমার্ক রানটাইম 30+% ( আইডিএফবিসি 1 , বি/193723768 ) হ্রাস করতে পারে
সংস্করণ 1.1.0-alpha03
16 জুন, 2021
androidx.benchmark:benchmark-*:1.1.0-alpha03
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha03 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট
- জেটপ্যাক প্রোফাইলইনস্টলার লাইব্রেরি ব্যবহার করে ইনস্টল করা প্রোফাইলগুলি সমর্থন করার জন্য একটি নতুন
CompilationMode.BaselineProfile
যুক্ত করেছে। ( এওএসপি/1720930 )
বাগ ফিক্স
বেঞ্চমার্ক ত্রুটিগুলি দমন করার জন্য নমুনা গ্রেডল কোডটি একটি সিনট্যাক্স সহ একটি অ-হতাশিত এপিআই ব্যবহার করার জন্য আপডেট করা হয়েছে যা .gradle.kts ব্যবহারকারীদের সমর্থন করে।
যেমন,
testInstrumentationRunnerArguments["androidx.benchmark.suppressErrors"] = "EMULATOR,LOW-BATTERY"
সংস্করণ 1.1.0-alpha02
18 মে, 2021
বেঞ্চমার্ক সংস্করণ 1.1.0 -ALPHA02 বেঞ্চমার্কিং - ম্যাক্রোব্যাঞ্চমার্কে একটি বড় উপাদান নিয়ে আসে। বেঞ্চমার্ক ছাড়াও আপনাকে সিপিইউ লুপগুলি পরিমাপ করার অনুমতি দেয়, ম্যাক্রোব্যাঞ্চমার্ক আপনাকে স্টার্টআপ এবং স্ক্রোলিংয়ের মতো পুরো অ্যাপ্লিকেশন ইন্টারঅ্যাকশনগুলি পরিমাপ করতে এবং ট্রেসগুলি ক্যাপচার করতে দেয়। আরও তথ্যের জন্য লাইব্রেরির ডকুমেন্টেশন দেখুন।
androidx.benchmark:benchmark-*:1.1.0-alpha02
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha02 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট
ম্যাক্রোব্যাঞ্চমার্ক আর্টিফ্যাক্টগুলি যুক্ত হয়েছে ( androidx.benchmark:benchmark-macro-junit4
এবং androidx.benchmark:benchmark-macro
)
- আপনার অ্যাপ্লিকেশন থেকে স্থানীয়ভাবে বা সিআইতে স্টার্টআপ, স্ক্রোলিং/অ্যানিমেশন পারফরম্যান্স মেট্রিকগুলি ক্যাপচার করুন
- অ্যান্ড্রয়েড স্টুডিওর মধ্যে থেকে ট্রেসগুলি ক্যাপচার এবং পরিদর্শন করুন
বাগ ফিক্স
- Workaround shell permissions issue with output directory on Android 12 (Note - may require updating Android Gradle Plugin to 7.0.0 canary and Android Studio to Arctic Fox (2020.3.1), to continue capturing output files on affected devices). ( আইসিবি 039 )
- সমর্থন কনফিগারেশন ক্যাচিং বেঞ্চমার্কপ্লাগিনে ( 6B1C1 , B/159804788 )
- সরলীকৃত ফাইল আউটপুট - ডিফল্টরূপে, এমন একটি ডিরেক্টরিতে যা
requestLegacyExternalStorage=true
প্রয়োজন হয় না ( 8B5A4D , বি/172376362 ) - ফিক্স লাইব্রেরি প্রিন্টিং লগক্যাট প্ল্যাটফর্ম সংস্করণগুলিতে জেআইটি থ্রেড না খুঁজে না পাওয়ার বিষয়ে সতর্কতাগুলি যেখানে এটি উপস্থিত নেই। ( I9cc63 , খ/161847393 )
- ডিভাইস সর্বাধিক ফ্রিকোয়েন্সি পড়ার জন্য ঠিক করুন। ( I55c7a )
সংস্করণ 1.1.0-alpha01
জুন 10, 2020
androidx.benchmark:benchmark-common:1.1.0-alpha01
, androidx.benchmark:benchmark-gradle-plugin:1.1.0-alpha01
, এবং androidx.benchmark:benchmark-junit4:1.1.0-alpha01
প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha01-এ এই কমিট রয়েছে।
1.1 এর নতুন বৈশিষ্ট্য
- বরাদ্দ মেট্রিক - বেঞ্চমার্কগুলি এখন ওয়ার্মআপ এবং টাইমিংয়ের পরে একটি অতিরিক্ত পর্ব চালায়, বরাদ্দের গণনা ক্যাপচার করে। বরাদ্দগুলি প্ল্যাটফর্মের পুরানো সংস্করণগুলিতে পারফরম্যান্সের সমস্যা তৈরি করতে পারে (লকযুক্ত ঘড়িগুলি সহ Nexus5x এ পরিমাপ করা এম - এম -তে 8ns হয়ে গেছে)। এই মেট্রিকটি অ্যান্ড্রয়েড স্টুডিও কনসোল আউটপুট, পাশাপাশি পাশাপাশি প্রদর্শিত হয়
- প্রোফাইলিং সমর্থন - আপনার কোডটি কেন ধীরে ধীরে চলমান হতে পারে তা পরিদর্শন করতে আপনি এখন একটি বেঞ্চমার্ক রানের জন্য প্রোফাইলিং ডেটা ক্যাপচার করতে পারেন। বেঞ্চমার্ক উভয় পদ্ধতি ট্রেসিং বা শিল্প থেকে পদ্ধতি নমুনা ক্যাপচারকে সমর্থন করে। এই ফাইলগুলি ফাইল> ওপেন ব্যবহার করে অ্যান্ড্রয়েড স্টুডিওর ভিতরে প্রোফাইলারের সাথে পরিদর্শন করা যেতে পারে।
- বেঞ্চমার্ক গ্রেডল প্লাগইন এখন সহজ সেটআপের জন্য ডিফল্ট সরবরাহ করে:
-
testBuildType
ডিফল্টরূপে প্রকাশের জন্য প্রস্তুত রয়েছে, অন্তর্নির্মিত কোড কভারেজ সহ নির্ভরতা ব্যবহার এড়াতে। রিলিজ বিল্ডটাইপটি ডিফল্ট বিল্ডটাইপ হিসাবেও কনফিগার করা হয়েছে, যা অ্যান্ড্রয়েড স্টুডিওটিকে প্রথমবারের মতো কোনও প্রকল্প খোলার সময় স্বয়ংক্রিয়ভাবে সঠিক বিল্ড ভেরিয়েন্টটি নির্বাচন করতে দেয়। ( খ/138808399 ) -
signingConfig.debug
ডিফল্ট সাইনিং কনফিগারেশন হিসাবে ব্যবহৃত হয় ( বি/153583269 )
-
** বাগ ফিক্স **
- ওয়ার্মআপ ট্রানজিশন ওভারহেডকে উল্লেখযোগ্যভাবে হ্রাস করেছে, যেখানে প্রতিটি বেঞ্চমার্কের জন্য প্রথম পরিমাপটি অন্যদের তুলনায় কৃত্রিমভাবে বেশি ছিল। এই সমস্যাটি খুব ছোট বেঞ্চমার্কগুলিতে (1 মাইক্রোসেকেন্ড বা তারও কম) আরও স্পষ্ট ছিল। ( বি/142058671 )
- কমান্ড লাইন থেকে চলার সময় প্রতিটি বেঞ্চমার্কের জন্য ফিক্সড
InstrumentationResultParser
ত্রুটি মুদ্রিত। ( I64988 , বি/154248456 )
জ্ঞাত সমস্যা
- কমান্ড লাইন, বেঞ্চমার্কের গ্রেডল ইনভোকেশনগুলি সরাসরি ফলাফলগুলি মুদ্রণ করে না। আপনি স্টুডিওর মাধ্যমে চালানো, বা ফলাফলের জন্য জেএসএন আউটপুট ফাইলটি পার্স করে এর চারপাশে কাজ করতে পারেন।
- বেঞ্চমার্ক রিপোর্টিং "অ্যান্ড্রয়েড" বা "ডাউনলোড" (কেস সংবেদনশীল) এর সাথে একটি অ্যাপ্লিকেশন আইডি সমাপ্তির সাথে একটি অ্যাপ্লিকেশন ইনস্টল করা ডিভাইসগুলি থেকে প্রতিবেদনটি টানতে ব্যর্থ হয়। এই সমস্যাটি হিট করা ব্যবহারকারীদের অ্যান্ড্রয়েড গ্রেডল প্লাগইনটি 4.2-ALPHA01 বা তার পরে আপগ্রেড করা উচিত।
সংস্করণ 1.0.0
বেঞ্চমার্ক সংস্করণ 1.0.0
নভেম্বর 20, 2019
androidx.benchmark:benchmark-common:1.0.0
, androidx.benchmark:benchmark-gradle-plugin:1.0.0
, এবং androidx.benchmark:benchmark-junit4:1.0.0
1.0.0-আরসি 01 থেকে কোনও পরিবর্তন ছাড়াই প্রকাশিত হয় না। সংস্করণ 1.0.0 এ এই কমিটগুলি রয়েছে ।
1.0.0 এর প্রধান বৈশিষ্ট্য
বেঞ্চমার্ক লাইব্রেরি আপনাকে অ্যাপ্লিকেশন কোডের পারফরম্যান্স বেঞ্চমার্ক লিখতে এবং দ্রুত ফলাফল পেতে দেয়।
এটি বিল্ড এবং রানটাইম কনফিগারেশন সমস্যাগুলিকে বাধা দেয় এবং পরিমাপগুলি সঠিক এবং সামঞ্জস্যপূর্ণ তা নিশ্চিত করার জন্য ডিভাইসের কার্যকারিতা স্থিতিশীল করে। অ্যান্ড্রয়েড স্টুডিওতে সরাসরি বেঞ্চমার্কগুলি চালান, বা সময়ের সাথে কোডের কার্যকারিতা পর্যবেক্ষণ করতে এবং রিগ্রেশনগুলি রোধ করতে অবিচ্ছিন্ন সংহতকরণে ।
প্রধান বৈশিষ্ট্য অন্তর্ভুক্ত:
- ঘড়ি স্থিতিশীলতা
- স্বয়ংক্রিয় থ্রেড অগ্রাধিকার
- ইউআই পারফরম্যান্স পরীক্ষার জন্য সমর্থন, যেমন পুনর্ব্যবহারযোগ্য নমুনায়
- জেআইটি-সচেতন ওয়ার্মআপ এবং লুপিং
- পোস্ট প্রসেসিংয়ের জন্য জসন বেঞ্চমার্ক আউটপুট
সংস্করণ 1.0.0-rc01
23 অক্টোবর, 2019
androidx.benchmark:benchmark-common:1.0.0-rc01
, androidx.benchmark:benchmark-gradle-plugin:1.0.0-rc01
, এবং androidx.benchmark:benchmark-junit4:1.0.0-rc01
মুক্তি পেয়েছে। সংস্করণ 1.0.0-rc01-এ এই কমিট রয়েছে ।
নতুন বৈশিষ্ট
- বেঞ্চমার্কগুলিতে সিস্ট্রেস ট্রেসিং যুক্ত করা হয়েছে
বাগ ফিক্স
- স্থির মেট্রিক অস্থিরতার সমস্যা যেখানে জেআইটি বিক্ষোভের কারণে উষ্ণ হওয়ার আগে শেষ করবে না ( বি/140773023 )
- অ্যান্ড্রয়েড গ্রেডল প্লাগইন 3.5 এবং 3.6 জুড়ে ইউনিফাইড জেএসএন আউটপুট ডিরেক্টরি
সংস্করণ 1.0.0-beta01
9 অক্টোবর, 2019
androidx.benchmark:benchmark-common:1.0.0-beta01
, androidx.benchmark:benchmark-gradle-plugin:1.0.0-beta01
, এবং androidx.benchmark:benchmark-junit4:1.0.0-beta01
মুক্তি দেওয়া হয়েছে। সংস্করণ 1.0.0-beta01-এ এই কমিট রয়েছে ।
নতুন বৈশিষ্ট
- এক বেঞ্চমার্ক থেকে পরের দিকে ফাঁস হওয়া মেমরির চাপ কমাতে প্রতিটি ওয়ার্মআপের আগে আবর্জনা সংগ্রহ চালান ( বি/140895105 )
বাগ ফিক্স
-
androidx.annotation:android-experimental-lint
নির্ভরতা, যাতে পরীক্ষামূলক এপিআই ব্যবহার না করা না হলে জাভা কোডটি সঠিকভাবে লিন্ট ত্রুটিগুলি তৈরি করতে পারে, কোটলিন কলারদের জন্য কোটলিন পরীক্ষামূলক টীকা দ্বারা সরবরাহ করা অনুরূপ। - এখন অ্যান্ড্রয়েড গ্রেডল প্লাগইন 3.6 -এ আউটপুটটির জন্য
additionalTestOutputDir
ইনস্ট্রুমেন্টেশন আর্গুমেন্টের ব্যবহার সঠিকভাবে সনাক্ত করে, এজিপি কখন ডেটা অনুলিপি পরিচালনা করবে তা জানতে। - সঠিকভাবে প্রিন্ট
-1
( বি/141945670 ) মুদ্রণ করতে JSON এ সনাক্ত করা ঘড়ির ফ্রিকোয়েন্সি ঠিক করুন।
সংস্করণ 1.0.0-alpha06
সেপ্টেম্বর 18, 2019
androidx.benchmark:benchmark-common:1.0.0-alpha06
, androidx.benchmark:benchmark-gradle-plugin:1.0.0-alpha06
, এবং androidx.benchmark:benchmark-junit4:1.0.0-alpha06
প্রকাশিত হয়। সংস্করণ 1.0.0-ALPHA06 এর মধ্যে এই কমিট রয়েছে ।
নতুন বৈশিষ্ট
- টেস্ট রানার জন্য পুরানো প্যাকেজটি ভুলভাবে ব্যবহার করে একটি চেক যুক্ত করেছে, যা এখন আরও বেশি ক্ষতিগ্রস্থ ত্রুটি বার্তা সরবরাহ করে
এপিআই পরিবর্তন
- পরীক্ষামূলক টীকা
ExperimentalAnnotationReport
এখন সঠিকভাবে সর্বজনীন। পরীক্ষামূলক মানদণ্ডের ব্যবহার#রিপোর্ট এপিআই এখন এই টীকাটির প্রয়োজন
সংস্করণ 1.0.0-alpha05
5 সেপ্টেম্বর, 2019
androidx.benchmark:benchmark-common:1.0.0-alpha05
, androidx.benchmark:benchmark-gradle-plugin:1.0.0-alpha05
, এবং androidx.benchmark:benchmark-junit4:1.0.0-alpha05
প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
এপিআই পরিবর্তন
-
BenchmarkState.reportData
এপিআই এখন পরীক্ষামূলক হিসাবে চিহ্নিত
বাগ ফিক্স
- ক্লক-লকিং স্ক্রিপ্টের জন্য ঠিক করুন, যা ডিভাইসগুলিতে ব্যর্থ হবে যা
cut
বাexpr
শেল ইউটিলিটিগুলি অনুপস্থিত ছিল। -
./gradlew lockClocks
-c
সংস্করণ 1.0.0-alpha04
7 আগস্ট, 2019
androidx.benchmark:benchmark-common:1.0.0-alpha04
, androidx.benchmark:benchmark-gradle-plugin:1.0.0-alpha04
, এবং androidx.benchmark:benchmark-junit4:1.0.0-alpha04
প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
কীভাবে গ্রেড ছাড়াই বেঞ্চমার্ক লাইব্রেরিটি ব্যবহার করবেন, উভয়ই বিভিন্ন বিল্ড সিস্টেম (যেমন বাজেল বা বক) ব্যবহার করার জন্য এবং সিআই -তে চলার সময় কীভাবে নতুন ডকুমেন্টেশন যুক্ত করা হয়েছে। আরও তথ্যের জন্য, গ্রেড ছাড়াই বেঞ্চমার্কগুলি তৈরি করুন এবং অবিচ্ছিন্ন সংহতকরণে বেঞ্চমার্কগুলি চালান ।
নতুন বৈশিষ্ট
- গ্রেড প্লাগইন
- এখন স্বয়ংক্রিয়ভাবে পরীক্ষার কভারেজটি অক্ষম করে এবং
AndroidBenchmarkRunner
ডিফল্টরূপে সেট করে ( বি/138374050 ) - বেঞ্চমার্কগুলি চালানোর সময় এবং এজিপি 3.6+ ব্যবহার করার সময় নতুন এজিপি-ভিত্তিক ডেটা অনুলিপিটির জন্য সমর্থন যুক্ত করা হয়েছে
- এখন স্বয়ংক্রিয়ভাবে পরীক্ষার কভারেজটি অক্ষম করে এবং
- Json ফর্ম্যাট সংযোজন
- আউটপুট মোট বেঞ্চমার্ক টেস্ট রান সময় ( বি/133147694 )
-
@Parameterized
বেঞ্চমার্কগুলি যা একটি নাম স্ট্রিং ব্যবহার করে (উদাহরণস্বরূপ@Parameters(name = "size={0},depth={1}")
) এখন জেএসএন আউটপুট ( বি/132578772 ) এর বেঞ্চমার্কের প্রতি প্যারামিটারের নাম এবং মানগুলি আউটপুট আউটপুট
- শুকনো রান মোড ( বি/138785848 )
- পরিমাপ ক্যাপচার না করে ত্রুটি/ক্র্যাশগুলি পরীক্ষা করার জন্য প্রতিটি বেঞ্চমার্ক লুপ চালানোর জন্য একটি "শুকনো রান" মোড যুক্ত করা হয়েছে। এটি কার্যকর হতে পারে উদাহরণস্বরূপ, উদাহরণস্বরূপ, দ্রুত প্রেসবিমিটের বেঞ্চমার্কগুলি চালাচ্ছে তা পরীক্ষা করার জন্য তারা ভাঙা নয়।
এপিআই পরিবর্তন
- মডিউল কাঠামো পরিবর্তিত হয়েছে, গ্রন্থাগারটি বিভক্ত করে ( বি/138451391 )
-
benchmark:benchmark-junit4
জুনিট নির্ভরতা সহ ক্লাস রয়েছে:AndroidBenchmarkRunner
এবংBenchmarkRule
, উভয়ইandroidx.benchmark.junit4
প্যাকেজে চলে গেছে -
benchmark:benchmark-common
বেঞ্চমার্কস্টেট এপিআই সহ বাকী যুক্তি রয়েছে - এই বিভাজনটি ভবিষ্যতে জুনিট 4 এপিআই ছাড়াই লাইব্রেরিটিকে বেঞ্চমার্কিং সমর্থন করার অনুমতি দেবে
-
- কনফিগারেশন সতর্কতাগুলি এখন ত্রুটি হিসাবে বিবেচিত হয় এবং পরীক্ষাটি ক্র্যাশ করবে ( বি/137653596 )
- এটি সঠিক পরিমাপকে আরও উত্সাহিত করার জন্য করা হয়, বিশেষত সিআইতে
- এই ত্রুটিগুলি একটি উপকরণ যুক্তি দিয়ে সতর্কতাগুলিতে ফিরে হ্রাস করা যেতে পারে। উদাহরণস্বরূপ:
-e androidx.benchmark.suppressErrors "DEBUGGABLE,LOW_BATTERY"
বাগ ফিক্স
- ত্রুটিগুলি কিউ ডিভাইসগুলিতে বাহ্যিক স্টোরেজে লেখার সময় আরও বর্ণনামূলক বার্তা সরবরাহ করে, কীভাবে সমস্যাটি সমাধান করবেন তার পরামর্শ সহ
- স্ক্রিন বন্ধ থাকাকালীন ব্যর্থতার পরিবর্তে বেঞ্চমার্ক রানের সময় স্ক্রিনগুলি স্বয়ংক্রিয়ভাবে চালু হয়
বাহ্যিক অবদান
- জেএসএন আউটপুট উন্নতি এবং স্ক্রিন অফ ইস্যুগুলির জন্য ফিক্সের জন্য সের্গেই জাখারভকে ধন্যবাদ!
সংস্করণ 1.0.0-alpha03
জুলাই 2, 2019
androidx.benchmark:benchmark:1.0.0-alpha03
এবং androidx.benchmark:benchmark-gradle-plugin:1.0.0-alpha03
প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
নতুন বৈশিষ্ট
- পূর্ণ জেএসএন রিপোর্টে প্রতি বেঞ্চমার্কের তাপীয় থ্রোটলিংয়ের কারণে ঘুমের সময়কাল উন্মোচিত করুন
বাগ ফিক্স
- অ্যান্ড্রয়েড প্লাগইন এবং অ্যান্ড্রয়েড ব্লকের পরে গ্রেডল প্লাগইনটি আর প্রয়োগ করার প্রয়োজন হবে না
- স্কোপড স্টোরেজ ব্যবহার করে অ্যান্ড্রয়েড 10 ডিভাইসে বেঞ্চমার্ক প্রতিবেদনের জন্য সমর্থন যুক্ত করে
সংস্করণ 1.0.0-alpha02
জুন 6, 2019
androidx.benchmark:1.0.0-alpha02
এবং androidx.benchmark:benchmark-gradle-plugin:1.0.0-alpha02
প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।
নোট করুন যে আমরা জেএসএন স্কিমাকে একটি এপিআই হিসাবে বিবেচনা করছি। আমরা অন্যান্য এপিআইগুলির মতো একই স্থায়িত্বের সীমাবদ্ধতাগুলি অনুসরণ করার পরিকল্পনা করছি: স্থিতিশীল (খুব বিরল ব্যতিক্রম সহ) একবার বিটাতে এবং চূড়ান্ত প্রকাশে স্থির, কেবলমাত্র ছোট রিলিজগুলিতে সংযোজন এবং বড় রিলিজগুলিতে পরিবর্তন/অপসারণ।
এপিআই পরিবর্তন
ওভারহুলড জেএসএন স্কিমা। জেএসএন স্কিমাতে আরও পরিবর্তনগুলি সংযোজনগুলির মধ্যে সীমাবদ্ধ হতে পারে:
- ভবিষ্যতে অতিরিক্ত মেট্রিক গোষ্ঠীগুলিকে সমর্থন করার জন্য ফলাফল অবজেক্ট কাঠামোটি পুনর্গঠিত করেছে ( বি/132713021 )
- শীর্ষ-স্তরের অবজেক্টে ( বি/132711920 ) এ ডিভাইস এবং বিল্ড তথ্য এবং ঘড়িগুলি লক করা আছে কিনা তা পরীক্ষা চালানোর প্রসঙ্গের তথ্য যুক্ত করা হয়েছে
- টাইম মেট্রিকের নামগুলিতে এখন তাদের নামে 'এনএস' রয়েছে ( বি/132714527 )
- রিপোর্ট করা মেট্রিক (সর্বাধিক, মিডিয়ান, সর্বনিম্ন) প্রতি অতিরিক্ত পরিসংখ্যান যুক্ত করা হয়েছে এবং সরলীকৃত 'ন্যানোস' সংক্ষিপ্তসার স্ট্যাট ( বি/132713851 ) সরানো হয়েছে
এক্সএমএল আউটপুট সরানো হয়েছে ( বি/132714414 )
তাপীয় থ্রোটল সনাক্তকরণ
BenchmarkState.reportData
থেকে সরানো হয়েছে rep রিপোর্টডাটা এপিআই ( বি/132887006 )
বাগ ফিক্স
- স্থির
./gradlew lockClocks
সাম্প্রতিক কিছু ওএস ডিভাইসগুলিতে স্টিক করছে না ( বি/133424037 ) - এমুলেটরের জন্য থ্রোটলিং সনাক্তকরণ অক্ষম ( বি/132880807 )
সংস্করণ 1.0.0-alpha01
7 মে, 2019
androidx.benchmark:benchmark:1.0.0-alpha01
প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে উপলব্ধ।