Mae datrysiad sy'n agor mewn eiliad o ddosbarthiad lleol yn cymryd deng eiliad ar hugain i agor o raniad a gyrhaeddir trwy dwnnel. Anaml y mae'r twnnel yn achos ar ei ben ei hun. Yr hyn sy'n newid yw bod gweithrediadau a oedd yn alwadau lleol yn dod yn deithiau crwn cydamserol, ac mae'r golygydd yn cyflawni nifer ohonynt cyn i'r ffenestr ymddangos. Mae'r mecanwaith isod yn egluro pam mae pob un yn ddrud a pha rai y gallwch eu dileu.

Beth mae'r golygydd yn ei wneud tra bo ffeil ar agor

Mae golygydd ag olrhain newidiadau yn cadw tanysgrifiad ar bob ffeil sydd ar agor ganddo. Mae cyfrol leol yn gwasanaethu'r tanysgrifiad hwnnw o'r ffeil-system heb unrhyw rwydwaith. Dros raniad gall yr un nodwedd ddiraddio'n ddarlleniadau metadata dro ar ôl tro, oherwydd nid yw'r model hysbysu yn ymddwyn yr un ffordd dros SMB. Mae diffodd olrhain newidiadau yn arbrawf cyntaf teg, gan ei fod yn tynnu dosbarth cyfan o geisiadau heb gyffwrdd â'r twnnel.

Mae'r system brosiect yn ychwanegu traffig ei hun. Mae llwytho datrysiad yn rhifo cyfeiriaduron, yn darllen ffeiliau prosiect ac efallai'n chwilio am SDK neu becynnau, ac mae pob chwiliad yn daith grwn pan fo'r llwybr yn bell. Mae datrysiad â llawer o brosiectau yn lluosi'r cyfrif hwnnw, a dyna pam mae amser agor yn tyfu'n gyflymach nag y byddai maint y ffeiliau'n awgrymu.

Chwiliadau plisgyn sy'n dod i ben cyn i'r fwydlen ymddangos

Mae Windows yn cyfrannu ail ffynhonnell o stondinau nad oes ganddi ddim i'w wneud â'r IDE. Mae Explorer a'i estyniadau plisgyn yn ailddatrys argraffwyr, gyriannau wedi'u mapio a byrlwybrau a ddefnyddiwyd o'r blaen bob tro y bydd bwydlen gyd-destun yn agor. Pan fo'r targedau hynny ar rwydwaith na all y twnnel ei gyrraedd, mae pob datrysiad yn blocio nes i derfyn amser ddod i ben, a dim ond wedyn y mae'r fwydlen yn paentio. Dyna pam y gall clic dde hongian am eiliadau tra bo'r ffeil ei hun yn agor yn normal.

Tynnwch y mapiadau marw a'r ciwiau argraffu, neu gadwch yn unig y rhai sy'n bodoli ar y rhwydwaith yr ydych arno mewn gwirionedd. Mae'r un rhesymeg yn cwmpasu unrhyw beth sy'n datrys llwybr yn y cefndir, gan gynnwys rhestrau ffeiliau diweddar a ffolderi wedi'u pinio.

net use
Get-Printer | Select-Object Name, PortName
Measure-Command { Get-ChildItem \files\proj | Out-Null }

Pam mae copi gwaith lleol yn ennill

Gweithio'n uniongyrchol ar y raniad yw'r gosodiad gwaethaf ar gyfer cylch golygu-adailadu-profir, gan fod y golygydd, y casglwr a'r cleient rheoli fersiynau pob un yn darllen y ffeiliau pell hynny ar wahân. Mae pob un ohonynt yn talu ei daith grwn ei hun, ac mae adeiladu'n talu unwaith y ffeil. Mae copi lleol gyda gwthio trwy'r storfa yn disodli llif o groesfeydd bach ag un bwriadol. Nid yw'r cyswllt wedi gwella; mae nifer y croesfeydd wedi cwympo.

Newid strwythurol yw hyn yn hytrach nag ymarfer tiwnio, a dyna'n union pam mae'n gweithio pan nad yw gosodiadau twnnel yn gweithio. Mae hefyd yn gwneud y modd methu yn amlwg: os yw adeiladu'n dal yn araf gyda chopi lleol, nid y raniad oedd y broblem erioed.

Symudwch hanes fel un gwrthrych

Pan fo'n rhaid i'r storfa ei hun groesi'r twnnel, anfonwch hanes mewn un gwrthrych yn lle ei gerdded. Mae bwndel yn un ffeil ac felly'n un trosglwyddiad, tra bo checkout sy'n cerdded miloedd o wrthrychau rhydd yn costio miloedd o groesfeydd. Mae Mercurial a Git ill dau yn cefnogi'r siâp hwnnw.

hg bundle --base 9f2c1a7e outgoing.hg
hg unbundle outgoing.hg
git bundle create repo.bundle main
git clone repo.bundle repo

Y diwygiad sylfaenol yw'r rhan i'w chael yn iawn, oherwydd mae'n penderfynu faint o hanes sy'n teithio. Mae bwndelu popeth yn gweithio ac yn gwastraffu'r cyswllt, tra bo bwndelu o'r newid cyffredin olaf yn symud yn unig yr hyn sydd ar goll gan yr ochr arall.

Mesurwch dair gweithred cyn beio lled band

Mesurwch dri pheth ar wahân: un ffeil fach wedi'i hagor, un cyfeiriadur wedi'i restru, un cadwad wedi'i gwblhau. Os yw'r tri yn araf yn gymesur â nifer y ffeiliau, y gost yw teithiau crwn. Os yw un yn stondin tra bo'r lleill yn iawn, amheuwch derfyn amser yn erbyn adnodd na ellir ei gyrraedd yn hytrach na lled band. Nodwch ar ba rwydwaith yr oedd y peiriant ar gyfer pob rhediad, oherwydd gall gliniadur sy'n ailgysylltu â phroffil arall newid yr ateb rhwng ymgeisiau.

Yna ailadroddwch yr un tri yn erbyn copi lleol o'r prosiect. Y gwahaniaeth yw pris y raniad, a dyna'r rhif i'w nodi pan fo rhywun yn cynnig cyswllt cyflymach fel yr ateb.

Erthyglau cysylltiedig