Visual Studio-ն դանդաղ է VPN համօգտագործման վրա. ինչու պահպանումը դառնում է շրջապտույտներ
Համօգտագործման միջոցով խմբագրումը պահպանումը, ընտրացանկերը և փոփոխությունների հետևումը դարձնում է շրջապտույտներ։ Տեղափոխեք աշխատանքային պատճենը տեղական և պատմությունը փոխանցեք որպես մեկ օբյեկտ՝ այն անցնելու փոխարեն։
Լուծումը, որը տեղական սկավառակից բացվում է մեկ վայրկյանում, թունելով հասանելի համօգտագործումից բացվելու համար պահանջում է երեսուն վայրկյան։ Թունելն ինքնին հազվադեպ է պատճառը։ Փոխվում է այն, որ գործողությունները, որոնք տեղական կանչեր էին, դառնում են համաժամանակյա շրջապտույտներ, և խմբագրիչը մի քանիսը կատարում է նախքան պատուհանի հայտնվելը։ Ներքևի մեխանիզմը բացատրում է, թե ինչու է յուրաքանչյուրը թանկ և որոնք կարող եք հեռացնել։
Ինչ է անում խմբագրիչը, քանի դեռ ֆայլը բաց է
Փոփոխությունների հետևման խմբագրիչը բաժանորդագրություն է պահում յուրաքանչյուր բաց ֆայլի վրա։ Տեղական ծավալը սպասարկում է այդ բաժանորդագրությունը ֆայլային համակարգից՝ առանց ցանցի։ Համօգտագործման միջոցով նույն հատկությունը կարող է վատթարանալ կրկնվող մետատվյալների ընթերցումների, քանի որ ծանուցումների մոդելը SMB-ի վրայով նույն կերպ չի վարվում։ Փոփոխությունների հետևման անջատումը արդար առաջին փորձ է, քանի որ այն հեռացնում է հարցումների մի ամբողջ դաս՝ չդիպչելով թունելին։
Նախագծային համակարգն ավելացնում է իր սեփական երթևեկությունը։ Լուծման բեռնումը թվարկում է թղթապանակներ, կարդում նախագծային ֆայլեր և կարող է փնտրել SDK կամ փաթեթներ, և յուրաքանչյուր որոնում շրջապտույտ է, երբ ուղին հեռավոր է։ Շատ նախագծերով լուծումը բազմապատկում է այդ թիվը, դրա համար բացման ժամանակը աճում է ավելի արագ, քան կհուշեին ֆայլերի չափերը։
Կեղևի որոնումներ, որոնք սպառվում են մինչև ընտրացանկի հայտնվելը
Windows-ն ավելացնում է կանգերի երկրորդ աղբյուր, որը կապ չունի IDE-ի հետ։ Explorer-ը և նրա կեղևի ընդլայնումները նորից լուծում են նախկինում օգտագործված տպիչները, քարտեզագրված սկավառակները և դյուրանցումները ամեն անգամ, երբ բացվում է համատեքստային ընտրացանկ։ Երբ այդ թիրախները գտնվում են ցանցում, ուր թունելը չի հասնում, յուրաքանչյուր լուծում արգելափակվում է մինչև ժամանակի սպառումը, և միայն այդ ժամանակ է ընտրացանկը նկարվում։ Դրա համար աջ սեղմումը կարող է կախվել վայրկյաններով, մինչ ֆայլն ինքը բացվում է սովորական ձևով։
Հեռացրեք մեռած քարտեզագրումները և տպիչների հերթերը, կամ պահեք միայն նրանք, որոնք գոյություն ունեն այն ցանցում, որտեղ դուք իրականում եք։ Նույն տրամաբանությունը վերաբերում է ամեն ինչին, ինչը ֆոնում լուծում է ուղի, ներառյալ վերջին ֆայլերի ցանկերը և ամրացված թղթապանակները։
net use
Get-Printer | Select-Object Name, PortName
Measure-Command { Get-ChildItem \files\proj | Out-Null }
Ինչու է հաղթում տեղական աշխատանքային պատճենը
Համօգտագործման վրա ուղղակիորեն աշխատելը խմբագրել-կառուցել-փորձարկել ցիկլի համար վատագույն կարգավորումն է, քանի որ խմբագրիչը, կոմպիլյատորը և տարբերակների կառավարման հաճախորդը յուրաքանչյուրն առանձին են կարդում այդ հեռավոր ֆայլերը։ Նրանցից յուրաքանչյուրը վճարում է իր շրջապտույտը, և կառուցումը վճարում է մեկ անգամ յուրաքանչյուր ֆայլի համար։ Տեղական պատճենը՝ պահոցով հրումներով, փոխարինում է փոքր հատումների հեղեղը մեկ դիտավորյալ հատումով։ Կապը չի բարելավվել. հատումների քանակը փլուզվել է։
Սա կառուցվածքային փոփոխություն է, ոչ թե լարքային վարժություն, և դա է պատճառը, որ այն աշխատում է, երբ թունելի կարգավորումները չեն աշխատում։ Այն նաև ակնհայտ է դարձնում խափանման եղանակը. եթե կառուցումը տեղական պատճենով դեռ դանդաղ է, համօգտագործումը երբեք խնդիրը չի եղել։
Տեղափոխեք պատմությունը որպես մեկ օբյեկտ
Երբ պահոցն ինքը պետք է հատի թունելը, ուղարկեք պատմությունը մեկ օբյեկտում՝ այն անցնելու փոխարեն։ Փաթեթը մեկ ֆայլ է և հետևաբար մեկ փոխանցում, մինչդեռ հազարավոր ազատ օբյեկտներ անցնող checkout-ը արժե հազարավոր հատումներ։ Mercurial-ը և Git-ը երկուսն էլ աջակցում են այդ ձևին։
hg bundle --base 9f2c1a7e outgoing.hg
hg unbundle outgoing.hg
git bundle create repo.bundle main
git clone repo.bundle repo
Հիմնական տարբերակը այն մասն է, որ պետք է ճիշտ ստանալ, քանի որ այն որոշում է, թե որքան պատմություն է ճամփորդում։ Ամեն ինչ փաթեթավորելը աշխատում է և վատնում կապը, մինչդեռ վերջին ընդհանուր փոփոխությունից փաթեթավորելը տեղափոխում է միայն այն, ինչ պակասում է մյուս կողմին։
Չափեք երեք գործողություն նախքան թողունակությանը մեղադրելը
Չափեք երեք բան առանձին. մեկ փոքր ֆայլ բացված, մեկ թղթապանակ թվարկված, մեկ պահպանում ավարտված։ Եթե բոլոր երեքը դանդաղ են ֆայլերի քանակին համաչափ, արժեքը շրջապտույտներն են։ Եթե մեկը կանգ է առնում, մինչ մյուսները լավ են, կասկածեք անհասանելի ռեսուրսի նկատմամբ ժամանակի սպառմանը, ոչ թե թողունակությանը։ Նշեք, թե որ ցանցում էր մեքենան յուրաքանչյուր գործարկման ժամանակ, քանի որ այլ պրոֆիլին նորից միացող նոթբուքը կարող է փոխել պատասխանը փորձերի միջև։
Այնուհետև կրկնեք նույն երեքը նախագծի տեղական պատճենի դեմ։ Տարբերությունը համօգտագործման գինն է, և դա այն թիվն է, որը պետք է մեջբերել, երբ ինչ-որ մեկն առաջարկում է ավելի արագ կապ որպես լուծում։