Հրապարակվել է JetStream 3-ը՝ վեբ զննարկչի աշխատանքի չափման գործիքակազմը: Այն ստուգում է JavaScript և WebAssembly շարժիչների աշխատանքը՝ տիպիկ հաշվողական ինտենսիվությամբ վեբ հավելվածներ գործարկելիս: Օբյեկտիվ և անկախ արդյունքների հասնելու համար նախագիծը համատեղ մշակվում է Google-ի, Apple-ի և Mozilla-ի մրցակից զննարկչի շարժիչների մշակողների կողմից: Կոդը հասանելի է BSD լիցենզիայով:
Նոր տարբերակը հաշվի է առնում ժամանակակից միտումներն ու փոփոխությունները, որոնք տեղի են ունեցել համացանցում 2019 թվականին JetStream 2-ի թողարկումից ի վեր, ինչպես նաև թարմացնում է թեստերը՝ համապատասխանեցնելով դրանք իրական վեբ հավելվածների աշխատանքային օրինաչափություններին և արտացոլելով իրական կատարողականությունը, այլ ոչ թե սինթետիկ արդյունքները, որոնց համար հատուկ օպտիմիզացված են բրաուզերի շարժիչները։
Ի տարբերություն Speedometer 3 չափանիշի, JetStream 3-ը կենտրոնանում է հաշվողական հնարավորությունների չափման վրա, այլ ոչ թե ինտերֆեյսի ռենդերինգի և DOM մանիպուլյացիայի արագության: JetStream 3-ը ավելի լավ է արտացոլում բրաուզերի խաղերի, ֆիզիկայի սիմուլյատորների, հիմնական շրջանակի ֆունկցիոնալության, կրիպտոգրաֆիկ գործիքների և բարդ ալգորիթմների կատարողականությունը:
WebAssembly (Wasm) թեստավորման հնարավորությունները զգալիորեն ընդլայնվել են, ներառյալ WebAssembly-ի առաջադեմ գործառույթների գնահատումը, ինչպիսիք են բացառությունների մշակումը, վեկտորային SIMD հրահանգների օգտագործումը և WasmGC ընդլայնումը՝ նախագծերը աղբահանված լեզուներով կատարելու համար: Ավելացվել են կատարողականության թեստեր WebAssembly ծրագրերի համար, որոնք կառուցվել են J2CL, Dart2wasm, Kotlin/Wasm, Rust և .NET գործիքակազմերի միջոցով և ստեղծվել են Java, Dart, Kotlin, Rust և C# կոդից:
WebAssembly-ի թեստավորման մեջ օգտագործվող նոր աշխատանքային բեռների թվում են argon2 հեշերի հաշվարկը, օպտիմալացման համար SIMD հրահանգների միջոցով մեքենայական ուսուցման մոդելի գործարկումը, Dart-ում և Kotlin-ում օգտագործողի ինտերֆեյսների ստեղծումը, SQLite3-ի գործարկումը, ինչպես նաև WebAssembly-ում կոմպիլացված .NET թարգմանչի և գործարկման ժամանակի գործարկումը։
Ավելացվել են 15 նոր JavaScript թեստեր, այդ թվում՝ Babylon.js 3D շարժիչը, ed25519 էլիպսաձև կորերի գործողությունները, MobX գրադարանը, prismjs-ով սինտաքսի ընդգծումը, մի քանի պրոքսի իրականացումներ, ճառագայթային հետևում, ֆայլային համակարգի գործողություններ, Three.js 3D մասնիկների վարքագծի սիմուլյատորը, Typescript 5.9 կոմպիլյացիան, տողերի վավերացումը validator.js-ով և էջերի ստեղծումը React-ով։
Որպեսզի պրոցեսորի հաճախականությունը և մուտքի/ելքի բեռները չազդեն թեստերի միջև ընկած ժամանակահատվածում արդյունքների վրա, JetStream-ը նախապես բեռնում է բոլոր ռեսուրսները՝ նախքան զննարկիչում թեստերը գործարկելը: Հիշողության գագաթնակետային սպառումը նվազեցնելու և քեշավորումն ապահովելու համար ռեսուրսները պահվում են որպես URL-կոդավորված բլոկներ: JetStream-ը կարող է օգտագործվել ոչ միայն զննարկիչները, այլև ինքնուրույն շարժիչները, ինչպիսին է d8-ը, փորձարկելու համար:
Source: opennet.ru
