ฉันรู้ว่านี่ไม่ใช่คำถามการเขียนโปรแกรม แต่มีความเกี่ยวข้อง
ผมทำงานในธรรมโครงการแพลตฟอร์มขนาดใหญ่ข้าม ใน Windows ฉันใช้ VC ++ 2008 บน Linux ฉันใช้ gcc มีไฟล์ประมาณ 40k ในโครงการ Windows ช้ากว่า Linux 10 เท่าถึง 10 เท่าในการคอมไพล์และเชื่อมโยงโครงการเดียวกัน ฉันจะแก้ไขได้อย่างไร
การเปลี่ยนแปลงที่เพิ่มขึ้นครั้งเดียวสร้าง 20 วินาทีบน Linux และ> 3 นาทีบน Windows ทำไม? ฉันยังสามารถติดตั้งตัวเชื่อมโยง 'gold' ใน Linux และลดเวลาลงเหลือ 7 วินาที
git ในทำนองเดียวกันนั้นเร็วกว่า 10x ถึง 40x บน Linux มากกว่า Windows
ในกรณี git เป็นไปได้ที่ git ไม่ได้ใช้ Windows อย่างเหมาะสม แต่เป็น VC ++? คุณคิดว่า Microsoft ต้องการทำให้นักพัฒนาซอฟต์แวร์ของตัวเองมีประสิทธิภาพมากที่สุดเท่าที่จะเป็นไปได้และการคอมไพล์ที่เร็วขึ้นจะไปไกลกว่านั้น บางทีพวกเขากำลังพยายามกระตุ้นให้นักพัฒนาเข้าสู่ C #?
ในการทดสอบอย่างง่ายค้นหาโฟลเดอร์ที่มีโฟลเดอร์ย่อยมากมายและทำแบบง่าย
dir /s > c:\list.txt
บน Windows ทำสองครั้งและเวลาครั้งที่สองเพื่อเรียกใช้จากแคช คัดลอกไฟล์ไปยัง Linux และดำเนินการเทียบเท่า 2 และเวลาที่เรียกใช้ครั้งที่สอง
ls -R > /tmp/list.txt
ฉันมีเวิร์คสเตชั่ 2 เครื่องพร้อมสเปคเดียวกัน HP Z600s พร้อม ram 12gig, 8 cores ที่ 3.0ghz ในโฟลเดอร์ที่มีไฟล์ ~ 400k Windows ใช้เวลา 40 วินาทีลินุกซ์ใช้เวลา <1 วินาที
มีการตั้งค่ารีจิสทรีที่ฉันสามารถตั้งค่าให้เร่งความเร็ว Windows ได้หรือไม่ สิ่งที่ช่วยให้?
ลิงก์ที่เกี่ยวข้องเพียงเล็กน้อยเล็กน้อยซึ่งเกี่ยวข้องกับการรวบรวมเวลาไม่จำเป็นต้องเป็น i / o
เห็นได้ชัดว่ามีปัญหาใน Windows 10 (ไม่อยู่ใน Windows 7) ที่ปิดกระบวนการที่ถือล็อคทั่วโลก เมื่อทำการคอมไพล์ด้วยหลายคอร์ดังนั้นจึงมีหลายขั้นตอนที่ทำให้เกิดปัญหานี้
/analyse
ตัวเลือกที่สามารถส่งผลกระทบ perf เพราะมันโหลดเว็บเบราเซอร์ (ไม่เกี่ยวข้องที่นี่ แต่รู้ดี)