ฉันมีวงนี้
// go through each alumni
foreach (esDL.Alumni currAlumni in allAlumnis)
{
... loop logic
}
การวิ่งนี้เกือบจะทันที
เมื่อฉันใส่คำสั่งติดตามหรือแก้ไขข้อบกพร่องเช่นนั้น...
foreach (esDL.Alumni currAlumni in allAlumnis)
{
... same loop logic
Trace.WriteLine("hi");
Trace.Indent();
Trace.WriteLine("written");
}
สิ่งนี้ทำให้สิ่งต่าง ๆ ช้าลงอย่างมาก ทั้งสำหรับการติดตามหรือดีบัก
ทำไมเป็นอย่างนั้น? มีวิธีป้องกันสิ่งนี้หรือไม่?
ฉันแนบเฉพาะ Listener เริ่มต้นเท่านั้น
แก้ไข - จากการทดสอบเพิ่มเติมฉันพบว่า Trace.Indent ทำให้มันช้าลงมาก แต่การมี WriteLine เพียงอย่างเดียวยังคงลดประสิทธิภาพลงอย่างมาก เกิดอะไรขึ้นกับวิธีการเยื้อง?