սկսել եմ սահմանել արագագործութիւնը մեքենայի։
դէ նախ ես չեմ սիրում որ ֆանը պտտուի, կամ որ տաքանայ մեքենան։
գիտէք՝ բիլդ եմ անում ամէնը, բայց նոյնիսկ երբ շինում եմ՝ դանդաղ եմ շինում, որ չտանջուի մեքենան։ շտապելու տեղ չունեմ։
անխուսափելի ա դիտարկչի ջս֊ների լոադը բայց դա զսպում եմ էջանշերը քնած պահելով միշտ։
հիմա էլ ստիպուած եմ վմ օգտագործել՝ վմ֊ն ա տաքացնում։
ես իրան քնեցնում եմ երբեմն, հէնց kill -STOP
֊ով, յետոյ արթնացնում kill -CONT
֊ով, բայց դրա միջի օհ֊ը դրանից յաճախ գժւում ա։
ու հիմա զսպում եմ էսպէս՝
r cpupower frequency-set -g powersave
r cpupower set -b 15
r cpupower frequency-set -u 1000Mhz
r֊ն իմ ռութով աշխատեցնելու ալիասն ա, -b 15
֊ը հիմա զգում եմ որ մոռացայ ինչ ա, առաջին տողով խնայող ռեժիմ եմ գցում, երրորդ տողով սահմանում եմ բոլոր պրոցեսորների արագութիւնը հազարով։
շատ աւելի հանգիստ ա իրան պահում, ու նէնց չի որ զգում եմ որ դանդաղել ա։
դա գուցէ նաեւ նրանից ա որ հոմս հեռու գտնուող կարգչի վրայ ա ու առանց էդ էլ լիքը բան դանդաղ ա։ պարզապէս i/o֊ն խեղդում ա մեքենան, կամ չի կարողանում խեղդել անիմաստ։ գուցէ դա էլ ա ազդում որ չեմ զգում։
զի երբ մեքենան կողքս ա՝ ահաւոր արագ ա ամէնը լինում։ տեսնեմ, էս երկու ամիսը լինի տեղափոխուել, սերուերս բերել իմ նկուղ, ու տէնց։ բայց կրկին, ինձ թւում ա զսպած կը պահեմ յաճախականութիւնը, ինձ լրիւ, իսկապէս, հերիքում ա փայնբուքի հզօրութիւնը։ #տեք #տէք #լինուքս #արագագործութիւն
այն օրը ցանցառներում խօսում էինք, ինձ թւում էր որ փայնֆոնի երկաթը համեմատելի ա իմ 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֊ի վրայ ստացած բինար նիշքով։ եթէ հէնց էքսպերիայի վրայ կազմարկէի, ինձ թւում ա եւս մի հինգ֊տաս տոկոսի առաւելութիւն կը լինէր։
#տեք #լինուքս #թեստ #հեռախօս #խելախօս #ֆիբոնաչի #արագագործութիւն #պրոցեսոր #օպերացիոն_համակարգեր #համակարգիչ #կարգիչ
վաչագանը չափել ա տարբեր ծրագրաւորման լեզուների կոմպիլեատորների սարքած կոդի, ու ինտերպրետատորների արագագործութիւնը կոնկրետ խնդիրներում։
եւ ահա ինչ ա ստացել՝
փաստօրէն, voc֊ը համեմատելի ա c/c++/go֊ի հետ cpu usage֊ի առումով, եւ ամենաքիչ յիշողութիւնն ա վերցնում նոյն խնդիրները լուծելիս։
ու նա դեռ ծանօթ չի օբերոնի հետ, ու գուցէ օպտիմալ կոդ չի գրել, չեմ նայել։
նաեւ ուզում եմ պասկալ (fpc)֊ն էլ աւելացնել, տեսնենք ոնց ա իրան պահում։
#ծրագրաւորում #իրականացում #ծրագրաւորման_լեզուներ #արագագործութիւն #արդիւնաւէտութիւն #տեքնոլոգիաներ #տտ #տեք
փաստորեն, երկաթը արագանում ա, ու մարդիկ (չեմ ասում մենք, ես իրենց հետ ինձ չեմ իդենտիֆիկացնում) գրում են այնպիսի ծրագրեր, որ այդ ավելի արագ երկաթի հնարավորությունները «լրիվ» օգտագործվեն։
մասնավորապես այդ պատճառով մենք միշտ ունենք դանդաղ աշխատող ծրագրեր։ ծրագրեր, որոնց պետք ա սպասել։ որոշ ժամանակ։
սակայն ոչ այնքան ժամանակ ինչքան նույն երկաթի վրա պետք է սպասել օրինակ հինգ տարի անց գրված ծրագրերը։ այդքան երկար ոչ ոք չի սպասի։
տեսնես մեկը հետազոտություն արե՞լ ա ինչքան են մարդիկ պատրաստ սպասել։ օկ են սպասել երեսուն վայրկյան մինչեւ ինչ որ ծրագիր ստարտ լինի։ իսկ տաս րոպե օկ չեն։ իսկ երկու՞։
քոմփյութա սայնսի այժմյա վիճակում այսպիսի հետազոտություն անհրաժեշտ ա, որ աչքաչափով չնայեն, լավ է, դանդաղ ա, հաշվեն, ասեն յուզերները սրան կդիմանան։
իսկ թեմայի մասին իմ կարծիքը – բիզնեսը, կապիտալիզմը եւ մարդիկ, սպառողները, բերում են նրան, որ ծրագրերը դանդաղ են աշխատում։
որովհետեւ ընկերությունները աշխատում են շուկա հնարավորին չափ շուտ հանել, մրցակիցներից շուտ, եւ խնայել նախագծման վրա ծախսերը։
նրանք արագ են գրում, որ հետո բոլորի մոտ դանդաղ աշխատի։
ավելի լավ կլիներ, նրանք դանդաղ գրեին, հետո բոլորի մոտ արագ աշխատեր, բայց մարդիկ մեկ – ուզում են մթերքը շուտ ստանալ, երկու, պատրաստ են ավելի արագ կոմպեր գնել, երեք – ընտրություն առանձնապես չունեն ու չեն գիտակցում ինչու է այսպես ստացվում։
այստեղից մի բան էլ է բխում, մասսայական արտադրության պատճառով կոմպերը դառնում են ավելի մատչելի, որովհետեւ իրենց գինը ընկնում է, որակի հետ միասին, սակայն։
ու տենց