ล่าสุด ฉันใช้เวลาศึกษาปัญหาการปรับปรุงประสิทธิภาพ .net เป็นจำนวนมาก และฉันก็พบข้อมูลดีๆ มากมายบนเว็บไซต์ MS ฉันคาดว่าทุกคนคงใช้เนื้อหาบางส่วนต่อไปนี้ ฉันโพสต์ไว้ที่นี่ด้วยความหวัง ที่จะเป็นประโยชน์ต่องานของทุกคน
เคล็ดลับประสิทธิภาพสำหรับแอปพลิเคชันทั้งหมด:
มีข้อยกเว้นน้อยลง
โทรเป็นก้อน
การออกแบบด้วย ValueTypes
ใช้ AddRange เพื่อเพิ่มกลุ่ม
ตัดแต่งชุดการทำงานของคุณ
ใช้ For Loops สำหรับการวนซ้ำสตริง—เวอร์ชัน 1
ใช้ StringBuilder สำหรับการจัดการสตริงที่ซับซ้อน
คอมไพล์แอปพลิเคชัน Windows Forms
ใช้ Jagged Arrays—เวอร์ชัน 1
รักษาขนาดบัฟเฟอร์ IO ไว้ระหว่าง 4KB ถึง 8KB
มองหา
คำแนะนำด้านประสิทธิภาพโอกาส Asynchronous IO สำหรับแคชแอปพลิเคชัน ASP.NET
อย่างจริงจัง
ใช้สถานะเซสชันเฉพาะในกรณีที่จำเป็นเท่านั้น
ใช้สถานะการดูเฉพาะในกรณีที่คุณต้องการ
หลีกเลี่ยง STA COM
คอมไพล์เป็นชุด
ลบโมดูล Http ที่ไม่จำเป็น
หลีกเลี่ยงคุณลักษณะ Autoeventwireup
เข้ารหัสโดยใช้ ASCII เมื่อคุณไม่ต้องการ UTF
ใช้ขั้นตอนการรับรองความถูกต้องที่เหมาะสมที่สุด
ภาคผนวก: ต้นทุนของการโทรเสมือนและการจัดสรร
ประเภทการโทร # โทร/วินาที
ประเภทค่า การโทรที่ไม่ใช่เสมือน 809971805.600
คลาสที่ไม่ใช่การโทรเสมือน 268478412.546
โทรเสมือนชั้นเรียน 109117738.369
ValueType Virtual (วิธี Obj) โทร 3004286.205
ValueType Virtual (วิธี Obj ที่ถูกแทนที่) โทร 2917140.844
ประเภทโหลดตามการขึ้นใหม่ (ไม่คงที่) 1434.720
ประเภทการโหลดโดย Newing (วิธีการเสมือน) 1369.863
เพิ่มเติม: http://msdn.microsoft.com/library/en-us/dnpag/html/scalenet.asp?frame=true
ที่มา: Minbear BLOG