ലോക്കൽ ഡിസ്കിൽ നിന്ന് ഒരു സെക്കൻഡിൽ തുറക്കുന്ന ഒരു പരിഹാരം ടണലിലൂടെ എത്തുന്ന പങ്കിടലിൽ നിന്ന് തുറക്കാൻ മുപ്പത് സെക്കൻഡ് എടുക്കുന്നു. ടണൽ സ്വയം അപൂർവമായി കാരണമാകുന്നു. മാറുന്നത് ലോക്കൽ കോളുകളായിരുന്ന പ്രവർത്തനങ്ങൾ സമകാലിക റൗണ്ട് ട്രിപ്പുകളാകുന്നു എന്നതാണ്, കൂടാതെ വിൻഡോ പ്രത്യക്ഷപ്പെടുന്നതിന് മുമ്പ് എഡിറ്റർ അവയിൽ പലതും ചെയ്യുന്നു. താഴെയുള്ള സംവിധാനം ഓരോന്നും എന്തുകൊണ്ട് ചെലവേറിയതാണെന്നും ഏതൊക്കെ നീക്കം ചെയ്യാമെന്നും വിശദീകരിക്കുന്നു.

ഫയൽ തുറന്നിരിക്കുമ്പോൾ എഡിറ്റർ എന്തു ചെയ്യുന്നു

മാറ്റ ട്രാക്കിംഗുള്ള എഡിറ്റർ തുറന്നിരിക്കുന്ന ഓരോ ഫയലിലും ഒരു സബ്സ്ക്രിപ്ഷൻ സൂക്ഷിക്കുന്നു. ലോക്കൽ വോള്യം ആ സബ്സ്ക്രിപ്ഷൻ നെറ്റ്വർക്ക് ഇല്ലാതെ ഫയൽ സിസ്റ്റത്തിൽ നിന്ന് നൽകുന്നു. പങ്കിടലിലൂടെ അതേ സവിശേഷത ആവർത്തിച്ചുള്ള മെറ്റാഡാറ്റ വായനയായി തരംതാഴാം, കാരണം അറിയിപ്പ് മാതൃക 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

അടിസ്ഥാന പുനരവലോകനമാണ് ശരിയായി നേടേണ്ട ഭാഗം, എത്ര ചരിത്രം യാത്ര ചെയ്യുമെന്ന് അത് തീരുമാനിക്കുന്നു. എല്ലാം ബണ്ടിൽ ചെയ്യുന്നത് പ്രവർത്തിക്കുന്നു, ലിങ്ക് പാഴാക്കുന്നു, അവസാന പൊതു മാറ്റത്തിൽ നിന്ന് ബണ്ടിൽ ചെയ്യുന്നത് മറുവശത്തിന് ഇല്ലാത്തത് മാത്രം നീക്കുന്നു.

ബാൻഡ്വിഡ്ത്തിനെ കുറ്റപ്പെടുത്തുന്നതിന് മുമ്പ് മൂന്ന് പ്രവർത്തനങ്ങൾ അളക്കുക

മൂന്ന് കാര്യങ്ങൾ വെവ്വേറെ അളക്കുക: ഒരു ചെറിയ ഫയൽ തുറന്നു, ഒരു ഡയറക്ടറി ലിസ്റ്റ് ചെയ്തു, ഒരു സേവ് പൂർത്തിയായി. മൂന്നും ഫയൽ എണ്ണത്തിന് ആനുപാതികമായി മന്ദഗതിയിലാണെങ്കിൽ, ചെലവ് റൗണ്ട് ട്രിപ്പുകളാണ്. ഒന്ന് തടഞ്ഞ് മറ്റുള്ളവ നന്നായിരിക്കുകയാണെങ്കിൽ, ബാൻഡ്വിഡ്ത്തല്ല, എത്തിച്ചേരാൻ കഴിയാത്ത വിഭവത്തിനെതിരായ സമയപരിധി സംശയിക്കുക. ഓരോ റണ്ണിലും യന്ത്രം ഏത് നെറ്റ്വർക്കിലായിരുന്നു എന്ന് രേഖപ്പെടുത്തുക, കാരണം മറ്റൊരു പ്രൊഫൈലിലേക്ക് വീണ്ടും ബന്ധിപ്പിക്കുന്ന ലാപ്ടോപ്പ് ശ്രമങ്ങൾക്കിടയിൽ ഉത്തരം മാറ്റാം.

തുടർന്ന് അതേ മൂന്നും പ്രോജക്ടിന്റെ ലോക്കൽ പകർപ്പിനെതിരെ ആവർത്തിക്കുക. വ്യത്യാസം പങ്കിടലിന്റെ വിലയാണ്, ആരെങ്കിലും പരിഹാരമായി വേഗതയേറിയ ലിങ്ക് നിർദ്ദേശിക്കുമ്പോൾ ഉദ്ധരിക്കേണ്ട സംഖ്യ അതാണ്.

അനുബന്ധ ലേഖനങ്ങൾ