Ua lomia se seti o patches e faatelevaveina le fausiaina o le fatu Linux e 50-80%

Ingo Molnar, o se taʻutaʻua Linux kernel developer ma le tusitala o le CFS (Completely Fair Scheduler) galuega faʻatulagaina, faʻatulagaina mo talanoaga i luga o le Linux kernel developer mailing list se faasologa o patches e aʻafia ai le sili atu ma le afa o faila uma i le fatu puna ma tuʻuina atu se faʻaopoopoga i le saoasaoa o se fatu atoa toe fausia e 50-80% faʻatatau i faʻatulagaga. O le faʻatinoina o le faʻatinoga e taua tele ona e fesoʻotaʻi ma le faʻaopoopoga o le tele o seti o suiga i le talafaasolopito o le atinaʻeina o fatu - 2297 patches na faʻatulagaina mo le faʻaofiina i le taimi e tasi, suia le sili atu i le 25 afe faila (10 afe faila faila i le "aofia ai. // ma le "arch/*/include/" directories "ma le 15 afe faila ma tusitusiga autu).

E maua le faʻatinoga o le faʻatinoga e ala i le suia o le auala e faʻaogaina ai faila ulutala. O loʻo maitauina e sili atu i le tolusefulu tausaga o le atinaʻeina o fatu, o le tulaga o faila ulutala ua avea ma foliga faʻavaivai ona o le i ai o le tele o faʻalagolago i le va o faila. E silia ma le tausaga le toe fa'atulagaina o faila faila ma mana'omia ai le toe fa'aleleia o le fa'atonuga ma fa'alagolago. I le taimi o le toe faʻatulagaina, na faia galuega e tuʻueseese faʻamatalaga ituaiga ma APIs mo fatuga fatu eseese.

Faatasi ai ma suiga ua faia: vavaeeseina o faila ulutala maualuga mai le tasi ma le isi, faʻaumatia galuega faʻapipiʻi e fesoʻotaʻi ai faila ulutala, vavaeeseina o faila ulutala mo ituaiga ma API, faʻamautinoaina le tuʻufaʻatasia o faʻasalalauga o faila faila (pe a ma le 80 faila o loʻo i ai faʻalagolago le saʻo e faʻalavelave i le faʻapotopotoga, faʻaalia e ala i isi faila ulutala), faʻaopoopo faʻapitoa o faʻalagolago i faila ".h" ma le ".c", laʻasaga taʻitasi laʻasaga optimization o faila ulutala, faʻaogaina o le "CONFIG_KALLSYMS_FAST=y" mode, filifili faʻatasi o faila C i poloka faʻapotopotoga e fa'aitiitia le numera o faila faila.

O se taunuuga, o le galuega na faia na mafai ai ona faʻaitiitia le tele o faila faila o loʻo faʻatautaia i le post-preprocessing stage e 1-2 poloaiga o le tele. Mo se faʻataʻitaʻiga, aʻo leʻi faʻamalosia, faʻaaogaina le faila faila "linux/gfp.h" na mafua ai le faʻaopoopoina o laina 13543 o le code ma le faʻapipiʻiina o faila faʻapipiʻi faʻalagolago i le 303, ma ina ua maeʻa le faʻataʻitaʻiga na faʻaititia le tele i 181 laina ma 26 faila faʻalagolago. Poʻo se isi faʻataʻitaʻiga: pe a faʻapipiʻi le faila "kernel/pid.c" e aunoa ma se patch, 94 afe laina o le code o loʻo aofia ai, o le tele o ia mea e le faʻaaogaina i le pid.c. O le vavaeeseina o faila faila na mafai ai ona faʻaitiitia le aofaʻi o code faʻasologa faʻatolu, faʻaitiitia le numera o laina faʻapipiʻi i le 36 afe.

Ina ua toe fausia atoa le fatu ma le "faia -j96 vmlinux" poloaiga i luga o se faiga suʻega, o le faʻaogaina o patches na faʻaalia ai le faʻaitiitia o le taimi o le fausiaina o le v5.16-rc7 lala mai le 231.34 i le 129.97 sekone (mai le 15.5 i le 27.7 fausia. i le itula), ma faʻateleina foi le faʻaogaina o le faʻaogaina o pusa CPU i taimi o faʻapotopotoga. Faʻatasi ai ma le faʻaopoopoga o le fausiaina, o le aʻafiaga o le faʻaleleia atili e sili atu ona iloa - o le taimi e toe fausia ai le fatu pe a uma ona fai suiga i faila faila ua faʻaitiitia tele (mai le 112% i le 173% e faʻatatau i le faila faila ua suia). Fa'atonuga o lo'o avanoa nei mo ARM64, MIPS, Sparc ma le x86 (32- ma le 64-bit) tusiata.

puna: opennet.ru

Faaopoopo i ai se faamatalaga