เราได้รับเวลาในการคอมไพล์ที่ช้ามากซึ่งอาจใช้เวลามากกว่า 20 นาทีบนเครื่อง 2GHz 2GHz, 2G Ram
ส่วนใหญ่เกิดจากขนาดของโซลูชันของเราที่เติบโตขึ้นเป็น 70+ โปรเจ็กต์เช่นเดียวกับ VSS ซึ่งเป็นคอขวดในตัวเมื่อคุณมีไฟล์จำนวนมาก (การแลกเปลี่ยน VSS ไม่ใช่ตัวเลือกที่น่าเสียดายดังนั้นฉันไม่ต้องการให้สิ่งนี้ลงไปสู่การทุบตี VSS)
เรากำลังดูการรวมโครงการ นอกจากนี้เรากำลังมองหาวิธีแก้ปัญหาที่หลากหลายเพื่อให้แยกข้อกังวลได้มากขึ้นและรวบรวมเวลาที่รวดเร็วขึ้นสำหรับแต่ละองค์ประกอบของแอปพลิเคชัน สิ่งนี้ที่ฉันเห็นจะกลายเป็นนรกของ DLL ในขณะที่เราพยายามซิงค์สิ่งต่างๆ
ฉันสนใจที่จะทราบว่าทีมอื่น ๆ จัดการกับปัญหาการปรับขนาดนี้อย่างไรคุณจะทำอย่างไรเมื่อฐานรหัสของคุณถึงจำนวนวิกฤตที่คุณเสียเวลาครึ่งวันในการดูแถบสถานะส่งข้อความที่รวบรวม
UPDATE ฉันละเลยที่จะพูดถึงนี่คือโซลูชัน C # ขอบคุณสำหรับคำแนะนำ C ++ ทั้งหมด แต่เป็นเวลาสองสามปีแล้วที่ฉันต้องกังวลเกี่ยวกับส่วนหัว
แก้ไข:
คำแนะนำที่ดีที่ช่วยได้จนถึงตอนนี้ (ไม่ได้บอกว่าไม่มีคำแนะนำที่ดีอื่น ๆ ด้านล่าง แต่สิ่งที่ช่วยได้)
- แล็ปท็อป 3GHz รุ่นใหม่ - พลังแห่งการใช้ประโยชน์ที่หายไปจะทำงานได้อย่างมหัศจรรย์เมื่อต้องการจัดการ
- ปิดใช้งานโปรแกรมป้องกันไวรัสระหว่างการคอมไพล์
- 'ตัดการเชื่อมต่อ' จาก VSS (จริงๆแล้วคือเครือข่าย) ในระหว่างการคอมไพล์ - ฉันอาจให้เราลบการรวม VS-VSS ทั้งหมดและยึดติดกับการใช้ VSS UI
ยังไม่ฉีกขาดผ่านการคอมไพล์ แต่ทุกบิตช่วยได้
Orion กล่าวถึงในความคิดเห็นว่ายาชื่อสามัญอาจมีส่วนร่วมด้วย จากการทดสอบของฉันดูเหมือนว่าจะได้รับผลกระทบด้านประสิทธิภาพเพียงเล็กน้อย แต่ไม่สูงพอที่จะแน่ใจได้ - เวลาในการคอมไพล์อาจไม่สอดคล้องกันเนื่องจากกิจกรรมของดิสก์ เนื่องจากข้อ จำกัด ด้านเวลาการทดสอบของฉันจึงไม่ได้รวม Generics หรือโค้ดมากเท่าที่จะปรากฏในระบบที่ใช้งานจริงดังนั้นจึงอาจสะสมได้ ฉันจะไม่หลีกเลี่ยงการใช้ยาชื่อสามัญในที่ที่ควรใช้เพียงเพื่อรวบรวมประสิทธิภาพของเวลา
การหลีกเลี่ยงปัญหา
เรากำลังทดสอบการปฏิบัติในการสร้างพื้นที่ใหม่ของแอปพลิเคชันในโซลูชันใหม่โดยนำเข้าใน dlls ล่าสุดตามความต้องการซึ่งรวมเข้ากับโซลูชันขนาดใหญ่เมื่อเราพอใจกับสิ่งเหล่านี้
เราอาจทำเช่นเดียวกันกับโค้ดที่มีอยู่โดยการสร้างโซลูชันชั่วคราวที่เพียงแค่ห่อหุ้มส่วนที่เราต้องดำเนินการแล้วทิ้งไปหลังจากที่รวมโค้ดใหม่ เราจำเป็นต้องชั่งน้ำหนักเวลาที่จะรวมรหัสนี้ใหม่กับเวลาที่เราได้รับจากการไม่มี Rip Van Winkle เหมือนกับประสบการณ์ที่มีการคอมไพล์ใหม่อย่างรวดเร็วในระหว่างการพัฒนา