การพัฒนาเว็บเบราว์เซอร์เช่น Firefox นั้นไม่ง่ายอย่างที่คิด มันต้องการทีมโปรแกรมเมอร์ที่ยอดเยี่ยมในการทำงานร่วมกันวางเว็บเบราว์เซอร์ที่มีประสิทธิภาพและรวดเร็วที่เราสามารถใช้ได้ฟรี สำหรับเว็บเบราว์เซอร์ Firefox หนึ่งในการปรับปรุงที่สำคัญด้านประสิทธิภาพคือการมีไฟล์เปล่าน้อยลง ตั้งแต่ Firefox เวอร์ชัน 4 มีไฟล์จำนวนมากโดยเฉพาะอย่างยิ่งจาวาสคริปต์ที่เคยอยู่ในโฟลเดอร์คอมโพเนนต์กำลังถูกรวมเป็นหนึ่งไฟล์ชื่อ omni.jar และสิ่งนี้จะช่วยลดดิสก์ I / O 30-100x ได้อย่างมีประสิทธิภาพ Omni.jar ถูกเปลี่ยนชื่อเป็น omni.ja ตั้งแต่เวอร์ชัน 10 เพื่อป้องกันไม่ให้ Firefox เสียหาย
การปรับปรุงนี้ทำให้เกิดปัญหาบางอย่างกับผู้ใช้บางคนที่ต้องการแก้ไขไฟล์ Javascript หลักสำหรับการปรับแต่งแทนการใช้ Add-on หรือส่วนขยาย หากพวกเขากำลังใช้ 7-Zip เวอร์ชันเก่าเช่น 9.20 เพื่อเปิดไฟล์ omni.ja 7-Zip จะรายงานข้อผิดพลาดว่า“ ไม่สามารถเปิดไฟล์ omni.ja เป็นไฟล์เก็บถาวรได้ "แม้ว่าจะมีรายงานว่า omni ไฟล์ .ja เป็นไฟล์ ZIP จริงๆ
วิธีแก้ปัญหาง่ายๆคือเปลี่ยนชื่อนามสกุลไฟล์ omni.ja เป็น. zip และ Windows จะสามารถเปิดและแตกไฟล์ได้ จากนั้นพวกเขาสามารถแก้ไขไฟล์ตามความต้องการของพวกเขาบรรจุหีบห่อเป็นไฟล์ ZIP และในที่สุดก็เปลี่ยนชื่อนามสกุลไฟล์กลับเป็น. แม้ว่าวิธีนี้ใช้งานได้ แต่ก็ไม่แนะนำเนื่องจากการปรับแต่งเพิ่มเติมให้เสร็จสิ้นในไฟล์ omni.ja ดั้งเดิมซึ่งสามารถลดการใช้ดิสก์ I / O ได้ 2-3 เท่า ไฟล์ omni.ja ที่ดีที่สุดไม่ใช่รูปแบบ ZIP มาตรฐานเนื่องจากเลย์เอาต์มีการเปลี่ยนแปลง โดยปกติแล้วดัชนีจะถูกวางไว้ที่ส่วนท้ายของไฟล์ แต่ omni.ja ที่ปรับปรุงแล้วจะวางดัชนีไว้ที่ด้านหน้าของไฟล์เพื่อลดการค้นหาดิสก์และเพื่อประโยชน์สูงสุดในการอ่านล่วงหน้า นี่คือเหตุผลที่ทำให้โปรแกรม archiver ที่พิถีพิถันเช่น 7-Zip 9.20 เวอร์ชันเก่าไม่สามารถเปิด omni.ja ได้แม้ว่าจะเป็นไฟล์ ZIP การเรียกใช้ฟังก์ชั่น“ ทดสอบที่เก็บถาวร” ใน 7-Zip จะแสดงว่าตรวจพบข้อผิดพลาดในส่วนหัว
โชคดีที่ผู้เขียน 7-Zip ได้เพิ่มการสนับสนุนเพื่อเปิดไฟล์ omni.ja ที่ได้รับการปรับปรุงในเวอร์ชั่นล่าสุด แม้ว่าคุณจะไม่มีปัญหาในการเปิด omni.ja ด้วย 7-Zip ล่าสุด แต่ก็เป็นไปไม่ได้ที่จะอัพเดตไฟล์ที่แก้ไขโดยอัตโนมัติ ดังที่คุณเห็นจากภาพหน้าจอด้านล่างเราพยายามแก้ไขไฟล์จาก omni.ja และ 7-Zip จะพ่นข้อผิดพลาดที่บอกว่ามันเป็นแบบอ่านอย่างเดียวเมื่อพยายามอัปเดตไฟล์ที่แก้ไขในไฟล์เก็บถาวร
ตอนนี้เราจะแสดงวิธีการ deoptimize ไฟล์ omni.ja ที่ปรับให้เหมาะสมเพื่อให้คุณสามารถแก้ไขไฟล์ใด ๆ ได้โดยตรงจาก 7-Zip จากนั้นนำมาใช้ใหม่อีกครั้งเพื่อให้คุณไม่สูญเสียการลดขนาดของดิสก์ I / O 2-3 เท่า
1. ดาวน์โหลด ActivePython และติดตั้ง หากคุณใช้ Windows รุ่น 64 บิตตรวจสอบให้แน่ใจว่าได้ดาวน์โหลด ActivePython เวอร์ชัน x64
2. ดาวน์โหลด สคริปต์ python optimizationjars.py ที่ได้รับการแก้ไขซึ่งได้รับการแก้ไขให้ทำงานกับ omni.ja
3. เพื่อความง่ายให้วางไฟล์ omni.jar และไฟล์ optimjars.py บนเดสก์ท็อปของคุณ เรียกใช้พรอมต์คำสั่งโดยกดปุ่มเริ่มพิมพ์ cmd แล้วกดปุ่ม Enter เปลี่ยนไดเรกทอรีเป็นเดสก์ท็อปของคุณโดยพิมพ์“ cd desktop” กด Enter แล้วพิมพ์คำสั่งด้านล่างเพื่อ deoptimize ไฟล์ omni.ja
เพิ่มประสิทธิภาพ jars.py --deoptimize ./ ./ ./
หรือคุณสามารถคัดลอกไฟล์ optimizationjars.py ไปยังไดเรกทอรีที่ omni.ja อยู่ซึ่งมักจะอยู่ที่ C: \ Program Files \ Mozilla Firefox \ จากนั้นเรียกใช้พรอมต์คำสั่งในฐานะผู้ดูแลระบบเปลี่ยนไดเรกทอรีเป็นพา ธ ที่ omni ja อยู่และเรียกใช้คำสั่ง deoptimize ที่แสดงด้านบน หากคุณได้รับอนุญาตปฏิเสธ IOError 13 หลังจากเรียกใช้คำสั่ง deoptimize นั่นหมายความว่าพรอมต์คำสั่งจะไม่ทำงานในฐานะผู้ดูแลระบบ
หลังจาก deoptimization สำเร็จไฟล์ omni.ja จะกลายเป็นไฟล์ ZIP มาตรฐานซึ่งสามารถเปิดได้โดยโปรแกรมเก็บถาวรใด ๆ หลังจากทำการเปลี่ยนแปลงไฟล์ภายใน omni.ja คุณควรปรับไฟล์ให้เหมาะสมอีกครั้งเพื่อผลประโยชน์เพิ่มเติมโดยการพิมพ์คำสั่งที่แตกต่างกันเล็กน้อยที่แสดงด้านล่าง
เพิ่มประสิทธิภาพ jars.py --optimize ./ ./ ./
ด้านล่างนี้เป็นข้อพิสูจน์การเพิ่มประสิทธิภาพและการทำให้หมดเวลาสำหรับไฟล์ omni.ja ภาพด้านล่างแสดงไฟล์ omni.ja ที่ได้รับการปรับปรุงให้ดีที่สุดซึ่งเปิดด้วย Notepad ซึ่งเป็นโปรแกรมแก้ไขข้อความมาตรฐานในตัวสำหรับระบบปฏิบัติการ Windows จุดเริ่มต้นของส่วนหัวของไฟล์แสดง PK ซึ่งเป็นลายเซ็นมาตรฐานสำหรับไฟล์ ZIP คุณจะพบเส้นทางไฟล์จำนวนมากซึ่งเป็นดัชนีของไฟล์ในไฟล์เก็บถาวรที่จุดเริ่มต้นของไฟล์ omni.ja เช่นกัน
ตอนนี้ให้เราดูที่ไฟล์ omni.ja ที่ deoptimized ใน Notepad เราเลื่อนไปทางขวาสุดของไฟล์และอย่างที่คุณเห็นดัชนีของไฟล์จะถูกวางที่นี่แทนไม่ใช่จุดเริ่มต้น ถ้าคุณดูที่จุดเริ่มต้นของไฟล์คุณจะเห็นว่ามันเริ่มต้นด้วย PK
โปรดทราบว่าเมื่อใดก็ตามที่ Firefox ได้รับการอัปเดตมีโอกาสสูงที่ไฟล์ omni.ja จะได้รับการอัปเดตเช่นเดียวกับการเขียนทับไฟล์ omni.ja ที่คุณแก้ไข นี่คือหนึ่งในเหตุผลหลักว่าทำไมจึงควรใช้ส่วนขยายแทนการแก้ไขไฟล์หลักของ Firefox เนื่องจากมันยังคงมีการปรับเปลี่ยนในขณะที่ช่วยให้คุณสามารถรักษา Firefox เวอร์ชันปัจจุบันได้อย่างง่ายดาย