2021-07-26-4747610

այն օրը ցանցառներում խօսում էինք, ինձ թւում էր որ փայնֆոնի երկաթը համեմատելի ա իմ xperia xa2֊ի երկաթին։

փորձեցի փնտրել համացանցում, բան չհասկացայ, բացի նրանից որ փայնֆոնինը՝ 1.152ghz֊նոց 4 հատ cortex a53 պրոցեսոր ունի, իսկ էքսպերիան՝ 8 հատ 2.2ghz֊նոց Qualcomm Snapdragon 630 ա (14 nm)։

հիմա ի՞նչ ա սա մեզ ասում։

ժամանակին չափել էի մի պրոցեսորի արագագործութիւն տարբեր մեքենաներիս վրայ։ փայնբուքը հաւասար էր գնում ընդամէնը core2 համակարգչի, բայց այն տաքանում էր, ու հովացում միացնում, իսկ փայնփուքը՝ լուռ։ նաեւ վերջինն ունի վեց պրոցեսոր, իսկ ինթելն ունէր ընդամէնը երկու։ բայց ես մէկի վրայ էի չափում։

հիմա հեռախօսներ, բեմահարթակում երեքն են՝ pinephone, xperia xa2, motorola droid4։

ահա, փորձեցի չափել արագագործութիւնը ըստ մի պրոցեսորի՝

droid4

վերջին պրոցեսոր՝

processor       : 1
model name      : ARMv7 Processor rev 3 (v7l)
BogoMIPS        : 598.42
Features        : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32
CPU implementer: 0x41
CPU architecture: 7
CPU variant     : 0x1
CPU part        : 0xc09
CPU revision    : 3

Hardware        : Generic OMAP4 (Flattened Device Tree)
Revision        : 0000
Serial          : 0000000000000000

pinephone

վերջին պրոցեսոր՝

processor       : 3
BogoMIPS        : 48.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer: 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

xperia xa2

պրոցեսոր՝

Processor       : AArch64 Processor rev 4 (aarch64)

(առանձին ու սկբից ա միայն գրած, այլ սարքերի վրայ այդպէս չի)

վերջին պրոցեսոր՝

processor       : 7
BogoMIPS        : 38.40
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer: 0x51
CPU architecture: 8
CPU variant     : 0xa
CPU part        : 0x801
CPU revision    : 4

ելատեքստ՝

user@devuan-droid4:~/bench$ cat bench.cpp
#include <stdio.h>

class Fib
{
private:
int _value;
public:
Fib(int n) { _value = n; }
int value()
{
if(_value <= 2)
return 1;
Fib f1 = Fib(_value - 1);
Fib f2 = Fib(_value - 2);
return f1.value() + f2.value();
}
};

int main()
{
for(int i=0; i<2; i++)
{
Fib x = Fib(40);
printf("n=%d\n", x.value());
}
return 0;
}

արդիւնքներ՝

xperia xa2

[root@XperiaXA2-DualSIM ~]# time ./bench
n=102334155
n=102334155
real    0m 10.02s
user    0m 9.90s
sys     0m 0.00s
[root@XperiaXA2-DualSIM ~]#

փայնֆոն՝

user@devuan-pinephone:~/bench$ time ./bench
n=102334155
n=102334155

real    0m13.109s
user    0m13.065s
sys     0m0.005s
user@devuan-pinephone:~/bench$

մոտորոլա դրոիդ4՝

user@devuan-droid4:~/bench$ time ./bench
n=102334155
n=102334155

real    0m16.393s
user    0m15.783s
sys     0m0.174s
user@devuan-droid4:~/bench$

գոնէ այս հաշուարկի մէջ տարբերութիւնը փայնֆոնի ու էքսպերիայի մէջ մեծ չի։ էքսերիան դրոիդից էլ ա խնդիրը լուծում մօտ մէկ ու կէս անգամ արագ։

երեքն էլ բաւական մօտ են արդիւնքներով։

մի նկատողութիւն՝ էքսպերիան, աւելի ճիշտ՝ սէյլֆիշը, նորմալ լինուքս չի մնացած երկուսի պէս, ու openrepos֊ում մի gcc նախագիծ կայ, որը չկարողացայ էլ տեղակայել։ ու 64բիթ պրոցեսոր ունենալով, 32բիթ օհ ա քշում։ (իրականում aarch64 ճարտարապետութիւնը, բնաւ amd64֊ի պէս չի պահում համատեղելիութիւն 32բիթանի arm միջուկների հետ, պարզապէս այդ (ինչպէս եւ որոշ այլ չիպսեթները կատարում են ե՛ւ մի ե՛ւ միւս isa֊ին համապատասխան հրամաններ) մնացածը դեբիան են՝ փայնֆոնը՝ 64բիթ, դրոիդը՝ 32բիթ, ու ես սէյլֆիշի տակ թեստն արեցի droid֊ի վրայ ստացած բինար նիշքով։ եթէ հէնց էքսպերիայի վրայ կազմարկէի, ինձ թւում ա եւս մի հինգ֊տաս տոկոսի առաւելութիւն կը լինէր։

#տեք #լինուքս #թեստ #հեռախօս #խելախօս #ֆիբոնաչի #արագագործութիւն #պրոցեսոր #օպերացիոն_համակարգեր #համակարգիչ #կարգիչ

բնօրինակ ծմակուտում(եւ մեկնաբանութիւննե՞ր)

պիտակներ՝ include      տեք  լինուքս  թեստ  հեռախօս  խելախօս  ֆիբոնաչի  արագագործութիւն  պրոցեսոր  օպերացիոն_համակարգեր  համակարգիչ  կարգիչ