VPN భాగస్వామ్యంలో Visual Studio నెమ్మదిగా ఉంది: సేవ్ ఎందుకు రౌండ్ ట్రిప్పులుగా మారుతుంది
భాగస్వామ్యం ద్వారా సవరణ సేవ్, మెనూలు మరియు మార్పుల ట్రాకింగ్ను రౌండ్ ట్రిప్పులుగా మారుస్తుంది. పని ప్రతిని స్థానికంగా మార్చి, చరిత్రను నడవడం బదులు ఒకే వస్తువుగా పంపండి.
స్థానిక డిస్క్ నుండి ఒక సెకనులో తెరుచుకునే పరిష్కారం, టన్నెల్ ద్వారా చేరే భాగస్వామ్యం నుండి తెరవడానికి ముప్పై సెకన్లు తీసుకుంటుంది. టన్నెల్ దానంతట అదే అరుదుగా కారణం అవుతుంది. మారేది ఏమిటంటే గతంలో స్థానిక కాల్స్ అయిన కార్యకలాపాలు సమకాలిక రౌండ్ ట్రిప్పులుగా మారుతాయి, మరియు విండో కనిపించే ముందు ఎడిటర్ వాటిలో కొన్నింటిని చేస్తుంది. క్రింది యంత్రాంగం ప్రతి ఒక్కటి ఎందుకు ఖరీదైనది మరియు ఏవి తీసివేయవచ్చో వివరిస్తుంది.
ఫైల్ తెరిచి ఉన్నప్పుడు ఎడిటర్ ఏమి చేస్తుంది
మార్పుల ట్రాకింగ్ ఉన్న ఎడిటర్ తెరిచిన ప్రతి ఫైల్పై సబ్స్క్రిప్షన్ ఉంచుతుంది. స్థానిక వాల్యూమ్ ఆ సబ్స్క్రిప్షన్ను నెట్వర్క్ లేకుండా ఫైల్ సిస్టమ్ నుండి అందిస్తుంది. భాగస్వామ్యం ద్వారా అదే లక్షణం పదేపదే మెటాడేటా పఠనాలుగా క్షీణించవచ్చు, ఎందుకంటే నోటిఫికేషన్ మోడల్ 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
మూల పునర్విమర్శ సరిగ్గా పట్టుకోవాల్సిన భాగం, ఎందుకంటే ఎంత చరిత్ర ప్రయాణిస్తుందో అది నిర్ణయిస్తుంది. అన్నింటినీ బండిల్ చేయడం పని చేస్తుంది మరియు లింక్ను వృథా చేస్తుంది, చివరి సాధారణ మార్పు నుండి బండిల్ చేయడం మరొక వైపు లేని దానిని మాత్రమే తరలిస్తుంది.
బ్యాండ్విడ్త్ను నిందించే ముందు మూడు కార్యకలాపాలను కొలవండి
మూడు విషయాలను విడివిడిగా కొలవండి: ఒక చిన్న ఫైల్ తెరవబడింది, ఒక డైరెక్టరీ జాబితా చేయబడింది, ఒక సేవ్ పూర్తయింది. మూడూ ఫైల్ సంఖ్యకు అనులోమానుపాతంలో నెమ్మదిగా ఉంటే, ఖర్చు రౌండ్ ట్రిప్పులు. ఒకటి నిలిచిపోయి మిగతావి బాగుంటే, బ్యాండ్విడ్త్ కాదు, చేరుకోలేని వనరుపై సమయ పరిమితిని అనుమానించండి. ప్రతి రన్లో యంత్రం ఏ నెట్వర్క్లో ఉందో గమనించండి, ఎందుకంటే మరొక ప్రొఫైల్కు తిరిగి కనెక్ట్ అయ్యే ల్యాప్టాప్ ప్రయత్నాల మధ్య సమాధానాన్ని మార్చగలదు.
తర్వాత అదే మూడింటిని ప్రాజెక్ట్ స్థానిక ప్రతికి వ్యతిరేకంగా పునరావృతం చేయండి. తేడా భాగస్వామ్యం ధర, మరియు ఎవరైనా పరిష్కారంగా వేగవంతమైన లింక్ను సూచించినప్పుడు ఉదహరించాల్సిన సంఖ్య అదే.