Већ најављено стабилно издање Портаге 3.0

Програмери недавно који су задужени за систем управљања пакетима Портаге (на Гентоо Линук дистрибуцији) најавио излазак стабилне верзије верзије 3.0.

У којима, главна новина ове нове представљене гране је посао који је дугорочно изведен на прелазак на Питхон 3 и крај подршке за Питхон 2.7 (нешто за шта се већ дуго видело да долази, јер је ова филијала званично била без подршке неколико месеци)

Имамо добре вести! Пројект Гентоо Портаге недавно је стабилизовао верзију 3.0 менаџера пакета.

Шта је ново? Па, ова трећа верзија Портаге-а уклања подршку за Питхон 2.7, што је непрестани напор у главном складишту Гентоо-а од стране пројекта Гентоо Питхон током 2020. године.

Поред укидања подршке за Питхон 2.7, још једна велика промена што се издваја од ове нове стабилне гране Портаге 3.0 било је укључивање различитих оптимизација да су дозволили правите прорачуне много брже (између 50% и 60%) повезане са утврђивањем зависности.

Занимљиво је да су неки програмери предложили преписивање кода за решавање зависности у Ц / Ц ++ или Го како би убрзали свој рад, али су успели да реше постојећи проблем уз велики напор.

И постојећи профил кода то је показао већину времена прорачун посвећен је позивању функција усе_редуце и цатпкгсплит са понављајућим низом аргумената (особа која је водила ово дело напомиње да је, на пример, функција цатпкгсплит позвана 1 до 5 милиона пута).

Са откривеним проблемом, спомените то да бисте убрзали прорачуне, примењено је кеширање резултата ових функција помоћу речника.

Поред тога, због закрпе коју обезбеђује корисник, надоградња на најновију верзију Портаге-а може у великој мери убрзати прорачуне зависности за 50-60%. Волимо да наша заједница учествује у нашем софтверу! За више детаља погледајте овај Реддит пост од члана заједнице који је обезбедио закрпу. Будите здрави и наставите да кувате са Гентоо-ом!

поред тога такође напомиње да је уграђена функција лру_цацхе била оптимална за овај задатак кеширања, али био је доступан само у верзијама Питхона од 3.2.

За компатибилност са уназад, додата је и заменица која је заменила лру_цацхе, али одлука да се укине подршка за Питхон 2.7 у Портаге 3.0 је знатно поједноставила задатак и омогућила заобилажење овог слоја.

Провео сам неко време профилишући Портаге са цПрофиле и вмпроф да бих разумео које функције трају најдуже. Такође сам генерисао неколико пламених графова из резултата профила, који су изгледали овако. Оно што сам приметио је да неке функције, као use_reducecatpkgsplit, позивају се врло често са истим аргументима (на пример, 1 до 5 милиона пута, за catpkgsplit). Направио сам неколико експеримената како бих резултате ових функција кеширао у диктат, а након што сам видео неколико добрих убрзања, послао сам закрпу на листу програмера Портаге. Неко је предложио употребу уграђеног Питхонаlru_cache уместо тога, али је то доступно само у Питхон 3.2 и новијим верзијама.

С друге стране, употреба кеш меморије смањила је операцију „емерге -уДвпУ –витх-бдепс = и @ворлд“ на ТхинкПад Кс220 са 5 минута 20 секунди на 3 минуте 16 секунди (63%). Испитивања на другим системима показала су повећање перформанси од најмање 48%.

Програмер који је припремио промену такође је покушао да примени прототип из кода за решавање зависности у Ц ++ или Руст, али испоставило се да је задатак претежак, јер је било потребно пренос велике количине кода и истовремено је било сумњиво да ли је резултат вредан труда.

Коначно ако желите да сазнате више о томе О напомени о издању ове стабилне гране можете да проверите детаље У следећем линку.


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. Odgovorni za podatke: AB Internet Networks 2008 SL
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.