Penyelesaian yang terbuka dalam satu saat dari cakera setempat mengambil tiga puluh saat untuk dibuka dari perkongsian yang dicapai melalui terowong. Terowong jarang menjadi punca dengan sendirinya. Apa yang berubah ialah operasi yang dahulu panggilan setempat menjadi perjalanan pergi balik segerak, dan editor melakukan beberapa daripadanya sebelum tetingkap muncul. Mekanisme di bawah menerangkan mengapa setiap satu mahal dan mana yang boleh anda buang.

Apa yang editor lakukan semasa fail terbuka

Editor dengan penjejakan perubahan menyimpan langganan pada setiap fail yang terbuka. Jilid setempat melayani langganan itu daripada sistem fail tanpa rangkaian. Melalui perkongsian ciri yang sama boleh merosot menjadi bacaan metadata berulang, kerana model pemberitahuan tidak berkelakuan sama melalui SMB. Mematikan penjejakan perubahan ialah eksperimen pertama yang wajar, kerana ia membuang satu kelas permintaan tanpa menyentuh terowong.

Sistem projek menambah trafiknya sendiri. Memuatkan penyelesaian menyenaraikan direktori, membaca fail projek dan mungkin menyiasat SDK atau pakej, dan setiap siasatan ialah perjalanan pergi balik apabila laluan itu jauh. Penyelesaian dengan banyak projek menggandakan kiraan itu, sebab itu masa buka tumbuh lebih cepat daripada yang dicadangkan oleh saiz fail.

Carian shell yang tamat sebelum menu muncul

Windows menyumbang sumber tersekat kedua yang tiada kaitan dengan IDE. Explorer dan sambungan shellnya menyelesaikan semula pencetak, pemacu yang dipetakan dan pintasan yang digunakan sebelum ini setiap kali menu konteks dibuka. Apabila sasaran itu berada pada rangkaian yang terowong tidak dapat capai, setiap penyelesaian menyekat sehingga had masa tamat, dan barulah menu dilukis. Sebab itulah klik kanan boleh tergantung beberapa saat sedangkan fail itu sendiri terbuka seperti biasa.

Buang pemetaan mati dan baris gilir pencetak, atau kekalkan hanya yang wujud pada rangkaian tempat anda benar-benar berada. Penaakulan yang sama meliputi apa sahaja yang menyelesaikan laluan di latar belakang, termasuk senarai fail terkini dan folder yang disematkan.

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

Mengapa salinan kerja setempat menang

Bekerja terus pada perkongsian ialah susunan paling teruk untuk kitaran sunting-bina-uji, kerana editor, pengkompil dan klien kawalan versi masing-masing membaca fail jauh itu secara berasingan. Setiap satu membayar perjalanan pergi baliknya sendiri, dan satu binaan membayar sekali bagi setiap fail. Salinan setempat dengan tolakan melalui repositori menggantikan limpahan lintasan kecil dengan satu lintasan yang disengajakan. Pautan itu tidak bertambah baik; bilangan lintasan telah runtuh.

Itu perubahan struktur dan bukan latihan penalaan, dan itulah sebabnya ia berkesan apabila tetapan terowong tidak. Ia juga menjadikan mod kegagalan jelas: jika binaan masih lambat dengan salinan setempat, perkongsian itu tidak pernah menjadi masalahnya.

Pindahkan sejarah sebagai satu objek

Apabila repositori itu sendiri mesti melintasi terowong, hantar sejarah dalam satu objek dan bukannya menelusurinya. Bundel ialah satu fail dan oleh itu satu pemindahan, manakala checkout yang menelusuri beribu-ribu objek longgar menelan beribu-ribu lintasan. Mercurial dan Git kedua-duanya menyokong bentuk itu.

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

Semakan asas ialah bahagian yang perlu kena, kerana ia menentukan berapa banyak sejarah yang bergerak. Membundel semuanya berkesan dan membazirkan pautan, manakala membundel daripada perubahan sepunya terakhir hanya memindahkan apa yang tiada pada sebelah sana.

Ukur tiga operasi sebelum menyalahkan lebar jalur

Ukur tiga perkara secara berasingan: satu fail kecil dibuka, satu direktori disenaraikan, satu simpan diselesaikan. Jika ketiga-tiganya lambat mengikut nisbah bilangan fail, kosnya perjalanan pergi balik. Jika satu tersekat sedangkan yang lain baik, syak had masa terhadap sumber yang tidak dapat dicapai dan bukan lebar jalur. Catat rangkaian mana mesin itu berada pada setiap larian, kerana komputer riba yang menyambung semula ke profil lain boleh mengubah jawapan antara percubaan.

Kemudian ulangi tiga yang sama terhadap salinan setempat projek. Perbezaannya ialah harga perkongsian, dan itulah angka yang perlu dipetik apabila seseorang mencadangkan pautan lebih pantas sebagai penyelesaian.

Artikel berkaitan