Partes inaequaliter divulgatae sunt, quae aedificationem nuclei Linux accelerant ab 50-80%

Ingo Molnar, notissimus Linux nuclei elit et auctor CFS (Prorsus Pulcher Scheduler) munus cedularium, proposuit ad discussionem de Linux nucleo elit mailing indicem seriei inaequalis quae plus quam dimidium omnium imaginum in fontibus nucleis afficit ac incrementum celeritatis praebere nuclei perfecti aedificandi ab 50-80% pendentibus in fundis. Optimizationem efficiendam notabile est quod involvit additionem maximae mutationum in historia nuclei nuclei - 2297 inaequalitates statim inclusioni propositae sunt, mutatis plus quam 25 milibus imaginum (includere/" (includere/". et "arcus/*/includunt/" directoria "et XV milia imaginum cum textibus originibus).

Faciendi lucrum fit mutando modum processus lima caput. Notatum est supra triginta annos evolutionis nuclei statum capitis fasciculi in specie depressa sumpsisse coram magno numero dependentiae crucis inter fasciculos. Fasciculus capitalis restructing per annum accepit et requiritur significantes retractationem hierarchiae et dependentiarum. Per restructing, opus fiebat ad definitiones specierum separatarum et APIs pro diversis subsystematibus nuclei.

Inter mutationes factas: summus gradus capitis lima ab invicem secernens, functiones linearum linearum quae fasciculorum caput eliminat, limas capita et APIs pro speciebus seiungens, distinctos conventus imaginum titulorum circumdedit (circiter 80 fasciculos obliquas clientelas impedimento conventui per se expositos habuit. alii fasciculi capitis), automatic additiones clientium ad ".h" et ".c" lima, gradatim optimiizationis fasciculorum capitis, uti "CONFIG_KALLSYMS_FAST=y" modum, selectivam consolidationem imaginum C in cuneos ad conventum. reducere numerum lima.

Quam ob rem, opus factum effecit ut magnitudo limae capitis reducere posset in scaena post-praeprocessione per 1-2 ordines magnitudinis. Exempli causa, ante optimiizationem, usus lima caput "linux/gfp.h" in additione lineae codicis 13543 et in inclusione fasciculorum capitalium 303 dependens, et post optimizationem magnitudo ad 181 lineas et 26 fasciculos dependens redacta est. Vel aliud exemplum: cum praeprocedens tabella "kernel/pid.c" sine commissura, 94 milia codicis lineas comprehendit, quarum pleraeque in pid.c non adhibetur. Lima distinguens capita fecit ut codicem processionaliter ter reducere posset, numerum linearum discursum ad 36 milia reducere.

Cum nucleus perfecte reaedificatus est cum imperio "facio vmlinux" in systemate experimentali, applicatio inaequalis reductionem in ramo v96-rc5.16 aedificandi tempus ab 7 ad 231.34 secundis (ab 129.97 ad 15.5 constructis ostendit. per hora), et etiam efficacia utendi CPU nucleorum in conventibus augetur. Cum incrementali constructum, meliorisationi effectus magis notabilis est - tempus nucleum reaedificandi postquam mutationibus ad caput fasciculi signanter decrevit (ab 27.7% ad 112% secundum caput lima mutatis). Optimizationes nunc tantum available pro ARM173, MIPS, Sparc et x64 (86- et 32-bit) architecturae.

Source: opennet.ru