Hauv lub plawv Linux, pib nrog kev tso tawm 5.2, Muaj kab laum uas ua rau cov ntsiab lus ntawm AVX register puas tsuaj thaum rov qab los ntawm tus neeg tuav teeb liab uas tau tuav thaum muaj qhov yuam kev ntawm nplooj ntawv. Qhov teeb meem no tshwm sim thaum khiav cov kev pab cuam multithreaded ("-pthread") uas cuam tshuam nrog kev suav nrog AVX register thaum tsim lub kernel nrog GCC 9. (Thaum tsim nrog GCC cov ntawv tso tawm ua ntej, kab laum tsis tshwm sim vim GCC 9 khaws qhov chaw nyob ntawm cov hloov pauv thread-local hauv register, thaum cov qauv ua ntej ntawm GCC thauj nws txhua lub sijhawm.)
Qhov teeb meem ua rau qhov kev pab cuam xaus ua ntej lub sijhawm nrog qhov yuam kev puas tsuaj ntawm lub cim xeeb. Qhov tshwm sim pom tseeb tshaj plaws thiab pom ntau zaus ntawm qhov yuam kev , sau ua hom lus Go. Vim yog qhov teeb meem no, cov kev pab cuam Go xaus ua ntej lub sijhawm, feem ntau nrog cov yuam kev "runtime error: invalid memory address or nil pointer dereference," "runtime: unexpected return pc," thiab "segmentation violation." Lub kernel tseem muaj kab laum tsis tau kho. Ntxiv kev hloov pauv rau Go language runtime kom xaiv ua haujlwm nyob ib puag ncig kab laum ntawm cov kernels muaj teeb meem Linux, ntawm tus nqi ntawm cov nqi ntxiv overhead.
Tau qhov twg los: opennet.ru
