แม้ว่ามันอาจจะมีประโยชน์สำหรับคุณในรูปแบบของเอกสารประกอบ แต่ระบบที่ล้อมรอบไฟล์ส่วนหัวนั้นไม่มีประสิทธิภาพเป็นพิเศษ
C ได้รับการออกแบบเพื่อให้การรวบรวมแต่ละครั้งสร้างโมดูลเดียว แต่ละไฟล์ต้นฉบับถูกคอมไพล์ในการรันแยกกันของคอมไพเลอร์ ในทางกลับกันไฟล์ส่วนหัวจะถูกแทรกลงในขั้นตอนการรวบรวมสำหรับไฟล์ต้นฉบับแต่ละไฟล์ที่อ้างอิงถึง
ซึ่งหมายความว่าหากไฟล์ส่วนหัวของคุณรวมอยู่ในไฟล์ต้นฉบับ 300 ไฟล์ไฟล์นั้นจะได้รับการวิเคราะห์และรวบรวมซ้ำแล้วซ้ำอีก 300 ครั้งแยกจากกันขณะที่โปรแกรมของคุณถูกสร้างขึ้น สิ่งเดียวกันแน่นอนกับผลลัพธ์เดียวกันแน่นอนซ้ำไปซ้ำมา นี่เป็นการเสียเวลาอย่างมากและเป็นหนึ่งในสาเหตุหลักที่โปรแกรม C และ C ++ ใช้เวลาในการสร้างนานมาก
ภาษาสมัยใหม่ทั้งหมดจงใจหลีกเลี่ยงความไร้ประสิทธิภาพเล็กน้อยที่ไร้สาระนี้ แต่โดยทั่วไปแล้วในภาษาที่คอมไพล์เมทาดาทาที่จำเป็นจะถูกจัดเก็บไว้ภายในบิลด์เอาท์พุตซึ่งอนุญาตให้ไฟล์ที่คอมไพล์ทำหน้าที่เรียงลำดับการอ้างอิงการค้นหาแบบด่วนซึ่งอธิบายถึงไฟล์ที่คอมไพล์มีอยู่ ประโยชน์ทั้งหมดของไฟล์ส่วนหัวที่สร้างขึ้นโดยอัตโนมัติโดยไม่มีการทำงานเพิ่มเติมในส่วนของคุณ
อีกวิธีหนึ่งในการตีความภาษาทุกโมดูลที่ได้รับการโหลดอยู่ในหน่วยความจำ การอ้างอิงหรือรวมถึงหรือกำหนดให้ห้องสมุดบางแห่งจะอ่านและรวบรวมซอร์สโค้ดที่เกี่ยวข้องซึ่งจะคงอยู่จนกว่าโปรแกรมจะสิ้นสุด หากคุณต้องการใช้ที่อื่นไม่ต้องทำงานเพิ่มเติมเพราะโหลดแล้ว
ไม่ว่าในกรณีใดคุณสามารถ "เรียกดู" ข้อมูลที่สร้างโดยขั้นตอนนี้โดยใช้เครื่องมือของภาษา โดยทั่วไปแล้ว IDE จะมีคลาสเบราว์เซอร์บางประเภท และหากภาษานั้นมี REPL ก็สามารถใช้ในการสร้างเอกสารสรุปของวัตถุที่โหลดได้