องค์ประกอบของพีซีใดที่มีผลต่อเวลาในการคอมไพล์ของคุณกับ Visual Studio มากที่สุด


16

ข้อมูลจำเพาะของพีซีใดที่มีผลต่อเวลาในการรวบรวมของคุณมากที่สุด ดิสก์? ความเร็วสัญญาณนาฬิกา? จำนวนคอร์ CPU


1
นี่ไม่ใช่คำถามการเขียนโปรแกรมใช่ไหม มันจะมีผู้ชมมากขึ้นใน StackOverflow หรือไม่?
Kurt W. Leucht

คำตอบ:



13

ปัจจัยที่ฉันค้นพบสร้างความแตกต่างที่ใหญ่ที่สุดไม่ใช่ปัจจัยทางกายภาพ แต่ซอฟต์แวร์ตัวหนึ่ง: คุณติดตั้งโปรแกรมป้องกันไวรัสตัวไหนอยู่

ผลิตภัณฑ์ป้องกันไวรัสบางตัวไม่สามารถจัดการกับการพัฒนาซอฟต์แวร์ได้เป็นอย่างดี - พวกเขาเห็นไฟล์แอปพลิเคชันเหล่านี้ทั้งหมดถูกเขียนใหม่สงสัยว่ามีการเล่นที่เหม็นและสแกนซ้ำทุกไฟล์ทุกครั้ง

(ดู/programming/1170078/is-it-usual-for-aspx-files-to-take-5-10-seconds-to-save/1170129#1170129เพื่อดูข้อมูลเพิ่มเติม)

ในทางตรงกันข้ามหากคุณต้องการปรับปรุงประสิทธิภาพของเครื่องที่มีอยู่ไม่มีอะไรจะดีไปกว่าการเพิ่มหน่วยความจำที่มีอยู่เพื่อการชนะอย่างรวดเร็ว


พีซีในสำนักงานกำลังใช้ TrendMicro OfficeScan แล็ปท็อป dev ของฉันที่บ้านใช้ AVG 8
Rob Allen

3
"Trend Micro" โอ้ที่รัก หากคุณไม่สามารถเปลี่ยนแปลงสิ่งเหล่านี้ได้ให้จูบลาการแสดงใด ๆ เลย
Bevan

8

นี่คืองานวิจัยดีๆจาก Scott Hanselman เกี่ยวกับการใช้ CPU หลายตัวสำหรับ MSBUild การเพิ่มความเร็วนั้นค่อนข้างน่าทึ่ง

แก้ไข: ฉันควรทราบว่าเพื่อให้มีประสบการณ์ที่ดีในการใช้ Visual Studio คุณต้องมี RAM มากมาย :)


+1 บทความที่ดีเกี่ยวกับหัวข้อ ฉันลืมเรื่องนั้นไป ฉันคิดว่าเขาทำพอดแคสต์เกี่ยวกับเรื่องนี้ด้วย
BinaryMisfit

4

ประสบการณ์ส่วนตัวของฉันกับฐานรหัส C ++ ขนาดพอใช้:

เครื่องเก่า

หน่วยประมวลผล: Pentium 4 HT 3.06 GHz
หน่วยความจำ: 1 GB DDR RAM (PC 2100, 333 MHz)
ดิสก์:ฮาร์ดไดรฟ์ 7200 RPM (UDMA 100, ถ้าหน่วยความจำทำหน้าที่)
เวลารวบรวม: 50 นาที

เครื่องใหม่:

หน่วยประมวลผล: Core i7 720QM (8 ประมวลผลเชิงตรรกะ) ที่ 1.6 GHz, Turbo Boost 1.73 GHz เมื่อแกนทั้งหมดมีการใช้งาน
หน่วยความจำ: 8 GB RAM DDR3 1066 MHz
ดิสก์: 7200 RPM ฮาร์ดไดรฟ์ (SATA 2)
รวบรวมเวลา: 4 นาที (กับ/ MP )


สรุป:ยิ่งตัวประมวลผล Merrier ยิ่งใช้ความเร็วสัญญาณนาฬิกาต่ำก็ตาม SSD จะปรับปรุงเวลาต่อไป แต่จากการสังเกตข้อความการรวบรวมฉันสงสัยว่ามันจะปรับปรุงได้มากกว่า 30 วินาทีหรือมากกว่านั้น


3

เท่าที่ฉันจำได้คือตัวประมวลผลและหน่วยความจำส่วนใหญ่ Google ที่รวดเร็วได้เปิดเผยการปรับแต่งต่างๆที่สามารถปรับปรุงเวลารวบรวม

โจเอลโพสต์เมื่อเร็ว ๆ นี้เกี่ยวกับผลของดิสก์บนโซลิดสเตรวบรวมที่นี่ ความเร็วดิสก์โดยทั่วไปจะไม่ปรับปรุงเวลาในการคอมไพล์อย่างมาก แต่เป็นไปตามนี้ก็จะมีมีผล ณ ออกแหลมโดยlyngbym


1

สำหรับการสร้างโปรแกรม C ++ ปัจจัย # 1 ก่อนโครงสร้างอื่นทั้งหมด - หากซอร์สโค้ดมีโครงสร้างในแนวตั้งอย่างหนักจะมีผลกระทบร้ายแรงต่อเวลาการสร้างโดยเฉพาะการสร้างที่เพิ่มขึ้น ฉันปรับโครงสร้างภายในประเทศบางส่วนของโครงการเพื่อปรับปรุง Xeon แบบ quad-core อย่างน่าทึ่ง 18 เดือนต่อมาและพวกเขา (คนที่เป็นเจ้าของโครงการ) ยังคงไม่สามารถเทียบเวลาสร้างนาฬิกาแขวนของฉันได้แม้กระทั่งบนเครื่อง Core i7

เอฟเฟกต์ (บวกหรือลบ) ของรูปแบบซอฟต์แวร์ของคุณทวีคูณในสมาชิกทุกคนในทีมของคุณและทุกสิ่งที่สร้างขึ้น


คุณมีลิงค์ที่อธิบายโครงสร้างโค้ดที่แตกต่างกันไหม ฉันคิดว่าฉันรู้ว่าคุณหมายถึงอะไร แต่ฉันไม่แน่ใจ
Rob Allen

ฉันมีปัญหาในการค้นหาข้อมูลอ้างอิงของฉัน แต่แนวคิดทั่วไปคือ 1) ใช้การประกาศล่วงหน้าหากเป็นไปได้ 2) รวมไฟล์เฉพาะเมื่อการประกาศล่วงหน้าไม่ทำงานและ 3) ตรวจสอบให้แน่ใจว่าไฟล์ที่คุณรวมไม่ได้ประกาศเพิ่มเติม สิ่งที่เกินความจำเป็นซึ่งจะทำให้มีไฟล์มากขึ้นซึ่งคุณไม่จำเป็นต้องใช้สำหรับไฟล์ต้นฉบับที่ถูกคอมไพล์ (หรือทำให้ส่วนหัวของคุณมีขนาดเล็กและใช้การประกาศไปข้างหน้าในลักษณะเดียวกับที่คุณทำกับไฟล์ต้นฉบับ)
Sam Harwell

1

Xoreax IncrediBuildเป็นระบบ build แบบกระจายที่ได้ทำการปรับปรุงครั้งใหญ่ในเวลารวบรวมที่ฉันทำงาน (น่าเสียดายที่เวลาลิงก์ยังค่อนข้างยาวโดยเฉพาะรุ่นบิลด์ที่ใช้การเพิ่มประสิทธิภาพทั้งโปรแกรมและการสร้างรหัสลิงค์เวลา แต่คาดว่าจะเสร็จสิ้น)

ข้อความแสดงแทน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.