Visual Studio i ngadaltë në një ndarje VPN: pse ruajtja bëhet udhëtime vajtje-ardhje
Redaktimi përmes një ndarjeje i kthen ruajtjen, menutë dhe ndjekjen e ndryshimeve në udhëtime vajtje-ardhje. Zhvendos kopjen e punës lokalisht dhe paketo historikun në vend që ta kalosh atë.
Një zgjidhje që hapet në një sekondë nga një disk lokal kërkon tridhjetë sekonda për t'u hapur nga një ndarje e arritshme përmes një tuneli. Tuneli rrallë është shkaku në vetvete. Ajo që ndryshon është se operacionet që ishin thirrje lokale bëhen udhëtime vajtje-ardhje sinkrone, dhe redaktori kryen disa prej tyre përpara se të shfaqet dritarja. Mekanizmi më poshtë shpjegon pse secili është i kushtueshëm dhe cilat mund t'i heqësh.
Çfarë bën redaktori ndërsa një skedar është i hapur
Një redaktor me ndjekje ndryshimesh mban një abonim në çdo skedar të hapur. Një vëllim lokal e shërben atë abonim nga sistemi i skedarëve pa rrjet. Përmes një ndarjeje e njëjta veçori mund të degradohet në lexime të përsëritura metadatash, sepse modeli i njoftimeve nuk sillet njësoj përmes SMB. Çaktivizimi i ndjekjes së ndryshimeve është një eksperiment i parë i drejtë, pasi heq një klasë të tërë kërkesash pa prekur tunelin.
Sistemi i projekteve shton trafikun e vet. Ngarkimi i një zgjidhjeje numëron drejtoritë, lexon skedarët e projektit dhe mund të hetojë SDK ose paketa, dhe çdo hetim është një udhëtim vajtje-ardhje kur shtegu është i largët. Një zgjidhje me shumë projekte e shumëfishon atë numër, prandaj koha e hapjes rritet më shpejt sesa do të sugjeronin madhësitë e skedarëve.
Kërkime të guaskës që skadojnë përpara se të shfaqet menuja
Windows shton një burim të dytë ngecjesh që nuk ka asnjë lidhje me IDE-në. Explorer dhe shtesat e guaskës së tij zgjidhin përsëri printerë, disqe të mapuara dhe shkurtore të përdorura më parë sa herë që hapet një menu konteksti. Kur ato objektiva ndodhen në një rrjet që tuneli nuk e arrin, çdo zgjidhje bllokohet derisa të skadojë një afat kohor, dhe vetëm atëherë vizatohet menuja. Kjo është arsyeja pse një klik me të djathtën mund të varet sekonda ndërsa vetë skedari hapet normalisht.
Hiq mapimet e vdekura dhe radhët e printimit, ose mbaj vetëm ato që ekzistojnë në rrjetin ku je vërtet. I njëjti arsyetim mbulon çdo gjë që zgjidh një shteg në sfond, duke përfshirë listat e skedarëve të fundit dhe dosjet e fiksuara.
net use
Get-Printer | Select-Object Name, PortName
Measure-Command { Get-ChildItem \files\proj | Out-Null }
Pse fiton një kopje pune lokale
Puna drejtpërdrejt në ndarje është rregullimi më i keq për një cikël redaktimi, ndërtimi dhe testimi, sepse redaktori, përpiluesi dhe klienti i kontrollit të versioneve lexojnë secili veçmas ata skedarë të largët. Secili prej tyre paguan udhëtimin e vet, dhe një ndërtim paguan një herë për skedar. Një kopje lokale me shtyrje përmes depove zëvendëson një përmbytje kalimesh të vogla me një të vetme të qëllimshme. Lidhja nuk është përmirësuar; numri i kalimeve është shembur.
Ky është një ndryshim strukturor dhe jo një ushtrim rregullimi, dhe pikërisht për këtë funksionon kur cilësimet e tunelit nuk funksionojnë. Ai gjithashtu e bën të dukshëm mënyrën e dështimit: nëse ndërtimi është ende i ngadaltë me një kopje lokale, ndarja nuk ishte kurrë problemi.
Zhvendos historikun si një objekt të vetëm
Kur vetë depoja duhet të kalojë tunelin, dërgo historikun në një objekt të vetëm në vend që ta kalosh atë. Një pako është një skedar i vetëm dhe prandaj një transferim i vetëm, ndërsa një checkout që kalon mijëra objekte të lira kushton mijëra kalime. Mercurial dhe Git të dy e mbështesin atë formë.
hg bundle --base 9f2c1a7e outgoing.hg
hg unbundle outgoing.hg
git bundle create repo.bundle main
git clone repo.bundle repo
Rishikimi bazë është pjesa që duhet goditur saktë, sepse vendos sa historik udhëton. Paketimi i gjithçkaje funksionon dhe e shpenzon lidhjen, ndërsa paketimi nga ndryshimi i fundit i përbashkët zhvendos vetëm atë që i mungon palës tjetër.
Mat tre operacione përpara se të fajësosh gjerësinë e brezit
Mat tre gjëra veçmas: një skedar i vogël i hapur, një drejtori e listuar, një ruajtje e përfunduar. Nëse të tre janë të ngadaltë në përpjesëtim me numrin e skedarëve, kostoja janë udhëtimet vajtje-ardhje. Nëse njëri ngec ndërsa të tjerët janë mirë, dysho për një afat kohor ndaj një burimi të paarritshëm dhe jo për gjerësinë e brezit. Shëno në cilën rrjet ishte makina në çdo ekzekutim, sepse një laptop që rilidhet me një profil tjetër mund ta ndryshojë përgjigjen midis provave.
Pastaj përsërit të njëjtat tre kundrejt një kopjeje lokale të projektit. Diferenca është çmimi i ndarjes, dhe ky është numri që duhet cituar kur dikush propozon një lidhje më të shpejtë si zgjidhje.