การเพิ่มประสิทธิภาพรหัสโปรแกรม คุณสมบัติหลักของการปรับแต่งโค้ดโดยโปรแกรมเมอร์และคอมไพเลอร์

ฉันขอต้อนรับคุณ เพื่อนรัก เข้าสู่เว็บไซต์บล็อก ผู้ใช้ส่วนใหญ่รับรู้ไซต์ภายนอกเท่านั้น ประเมินการออกแบบและโครงสร้าง แต่เบื้องหลังองค์ประกอบภายนอกที่น่าดึงดูดใจนั้นมีกฎหมายและกฎเกณฑ์ภายในมากมายที่กำหนดโดยมาตรฐาน W3C ส่วนประกอบภายในประกอบด้วยโค้ด html และสไตล์ CSS (ไม่มีฟังก์ชันแยกต่างหาก) บ่อยครั้ง ผู้ดูแลเว็บมักกังวลกับรูปลักษณ์ของไซต์มากกว่า อย่างไรก็ตาม เนื้อหาภายในของหน้าเว็บในรูปแบบของโค้ด html ก็ต้องการความสนใจเช่นกัน โดยเฉพาะอย่างยิ่งเมื่อพูดถึงการดึงดูดปริมาณการค้นหา

การเพิ่มประสิทธิภาพเว็บไซต์ภายในที่ดีเป็นสิ่งจำเป็นสำหรับการโปรโมตออนไลน์ที่ประสบความสำเร็จ แน่นอน การเพิ่มประสิทธิภาพสำหรับเครื่องมือค้นหาก่อนการส่งเสริมการขายเป็นจุดสำคัญ โปรโมทเว็บไซต์ด้วยลิงค์หากไม่มีการเพิ่มประสิทธิภาพ ก็จะไม่เกิดผลและอาจส่งผลเสียได้หากลดจำนวนผู้เข้าร่วมลง ในขณะเดียวกันก็จำเป็นต้องระบุปัญหาและข้อบกพร่องในปัจจุบันทั้งหมด ซึ่งในขั้นตอนใดก็ตามสามารถลบล้างความสำเร็จทั้งหมดได้ ลิงก์ที่อ่อนแอดังกล่าวอาจเป็นรหัส html ของไซต์

โค้ดของเว็บไซต์สามารถวิเคราะห์ได้โดยใช้ตัวตรวจสอบความถูกต้องต่างๆ สำหรับการประเมินตนเอง คุณต้องปิดใช้งานไฟล์ที่มีสไตล์และสคริปต์ นั่นเป็นวิธีที่พวกเขาเห็นพวกเขา ค้นหาหุ่นยนต์. หากไซต์โหลดช้า แสดงผลไม่ถูกต้อง และเครื่องมือค้นหาไม่เข้าใจตรรกะของหน้าเว็บ จะมีปัญหากับไซต์นั้นแน่นอน ต้องปรับปรุงรหัสทรัพยากร

การเพิ่มประสิทธิภาพโค้ดเว็บไซต์ถือเป็นกระบวนการทางเทคนิคล้วน ๆ ซึ่งขึ้นอยู่กับการลดจำนวนโค้ดเว็บไซต์ ประการแรกจำเป็นสำหรับทรัพยากรที่เครื่องมือค้นหาเป็นแหล่งที่มาหลักของการเข้าชม กฎหลักคือความเรียบง่าย ต้องย้ายสไตล์และสคริปต์ทั้งหมดไปที่ ไฟล์ภายนอก. รหัสควรง่ายและเข้าใจได้มากที่สุด

หุ่นยนต์ค้นหาต้องประเมินโครงสร้างของหน้าอย่างรวดเร็ว ดังนั้นจึงเป็นการดีกว่าที่จะไม่ใช้เฟรมและฟลัช องค์ประกอบเหล่านี้ทำให้โค้ดหนักขึ้น ทำให้ซับซ้อนมากขึ้น ใส่องค์ประกอบการออกแบบทั้งหมดลงในไฟล์สไตล์ css จัดรูปแบบให้เป็นสไปรต์ ความเรียบง่ายของรหัสที่กำหนดระดับความเกี่ยวข้องของไซต์และความเร็วของการจัดทำดัชนีหน้า สำหรับทรัพยากรขนาดใหญ่ที่มีการรับส่งข้อมูลสูง การเพิ่มประสิทธิภาพโค้ดเป็นขั้นตอนบังคับ ในเวลาเดียวกัน จำเป็นต้องเพิ่มประสิทธิภาพแม้แต่หน้าที่มีขนาดไม่เกิน 1 MB

ขั้นตอนหลักของการเพิ่มประสิทธิภาพโค้ดเว็บไซต์

  • การเน้นส่วนหัว h1-h6 เป็นหุ่นยนต์ค้นหาโดยทั่วไป ดังนั้นอย่าลืมเกี่ยวกับการจัดรูปแบบข้อความที่ถูกต้อง
  • ลดขนาดโค้ด - ยิ่งโค้ดน้อย หน้าจะโหลดได้ง่ายและเร็วขึ้น เมื่อเร็ว ๆ นี้ ความเร็วในการโหลดหน้าเว็บได้กลายเป็นปัจจัยสำคัญในการจัดอันดับ Google SERPซึ่งได้มีการประกาศอย่างเป็นทางการ
  • การกำจัด รหัสที่เป็นอันตราย- โฮสติ้งหลายแห่งมีส่วนป้องกันไวรัสที่สแกนไฟล์ไซต์และระบุเส้นทางไปยังโซลูชัน การไม่มีรหัสที่เป็นอันตรายทำให้เครื่องมือค้นหาเป็นที่ต้องการของไซต์มากขึ้น
  • การเพิ่มประสิทธิภาพเว็บไซต์ภายใน- การสร้างข้อความเฉพาะที่รองรับความหนาแน่นของคำหลักที่ต้องการ
  • – กระจายน้ำหนักของหน้าเท่าๆ กัน และเพิ่มการเข้าชมสำหรับข้อความค้นหาที่มีความถี่ต่ำ โดยเฉพาะอย่างยิ่งเมื่อเพิ่มเนื้อหาใหม่
  • การเพิ่มเมตาแท็ก - ชื่อเรื่อง คำหลัก และคำอธิบายถูกใช้โดยผลงานและแสดงในหน้าผลการค้นหา เมตาแท็กที่ประกอบอย่างเหมาะสมจะเพิ่มความเกี่ยวข้องของหน้าและดึงดูดผู้ใช้
  • การปรับภาพให้เหมาะสม - แต่ละภาพต้องเลือกในรูปแบบที่เหมาะสมที่สุด (GIF, JPEG, PNG และ PNG-24) รวมถึง alt และชื่อเรื่อง

ความถูกต้องของรหัสไซต์

ความถูกต้องคือความสอดคล้องของรหัสกับมาตรฐานโลก W3C ที่ยอมรับโดยทั่วไป รหัสไซต์ไม่ถูกต้องที่มีข้อผิดพลาดจำนวนมากอาจกลายเป็นอุปสรรคในการโปรโมตทรัพยากรบางอย่าง หากไม่ได้ปิดแท็กที่จับคู่ทั้งหมด อาจมีปัญหากับการแสดงองค์ประกอบการออกแบบ แต่ในความเป็นจริง แม้แต่เว็บไซต์ของเสิร์ชเอ็นจิ้นที่ใหญ่ที่สุดก็ยังไม่ถูกต้อง 100% อะไรคือสาเหตุของความแตกต่างนี้?

  • ความเข้มข้นของแรงงานระดับสูงในการกำหนดมาตรฐานของไซต์และความต้องการความเป็นมืออาชีพที่โดดเด่นของนักพัฒนาเมื่อตรวจสอบความถูกต้องของไซต์ไดนามิกขนาดใหญ่
  • รหัส html ที่ถูกต้อง 100% ไม่รับประกันความเข้ากันได้ข้ามเบราว์เซอร์ และไม่รับประกันข้อผิดพลาดเมื่อใช้เบราว์เซอร์รุ่นเก่า

อย่างไรก็ตาม สำหรับทรัพยากรขนาดเล็ก ความถูกต้องของรหัส html เป็นโบนัสที่ยอดเยี่ยมสำหรับการจัดอันดับสำหรับข้อความค้นหาที่มีการแข่งขันสูงที่สุด และยังแสดงถึงความจริงจังของทรัพยากรอีกด้วย

เพิ่มประสิทธิภาพ Cascading Style Sheets

เช่นเดียวกับการเพิ่มประสิทธิภาพโค้ด html การเพิ่มประสิทธิภาพสไตล์ (css) เป็นภารกิจที่สำคัญไม่แพ้กันซึ่งผู้ดูแลเว็บจำนวนมากมองข้ามไป การปรับโค้ด css ให้เหมาะสมยังช่วยเร่งความเร็วในการโหลดหน้าเว็บไซต์และประหยัดปริมาณการใช้งาน เนื่องจากไฟล์ css มีขนาดสูงสุด 100Kb ผู้ดูแลเว็บจำนวนมากจึงไม่เห็นความจำเป็นในการปรับให้เหมาะสม แต่ถ้าคุณคิดถึงปริมาณการรับส่งข้อมูลที่ได้รับการบันทึกโดยการปรับไฟล์ให้เหมาะสมต่อปี คุณจะทราบดีว่ามันประเมินค่าต่ำไปเพียงใด

คุณสามารถเพิ่มประสิทธิภาพ CSS ได้ด้วยตนเองหรือใช้บริการพิเศษ แต่ละตัวเลือกมีข้อเสีย เมื่อปรับโค้ดไซต์ให้เหมาะสมด้วยตนเอง คุณอาจมองข้ามอะไรไปหลายอย่างในขณะที่ใช้เวลาไปมาก อย่างไรก็ตาม การเพิ่มประสิทธิภาพเครื่องจักรอาจลบบรรทัดที่ไม่มีการออกแบบที่แสดงไม่ถูกต้อง

การตั้งค่าการเข้ารหัส

อีกหนึ่งปัจจัยที่ส่งผลต่อ โปรโมทเว็บไซต์คือการเข้ารหัส ข้อความภาษารัสเซียจะแสดงอย่างถูกต้องก็ต่อเมื่อ การตั้งค่าที่ถูกต้องการเข้ารหัส เช่น Windows-1251 หรือ utf-8 หากเนื้อหาไม่ได้รับการเข้ารหัสอย่างถูกต้อง เครื่องหมายและสัญลักษณ์จะผิดเพี้ยน ซึ่งจะทำให้สูญเสียผู้เข้าชมและจัดทำดัชนีได้ช้า

ปัญหาเกี่ยวกับการเข้ารหัสเป็นเรื่องปกติสำหรับทรัพยากรแบบเก่า ซึ่งหน้าต่างๆ ถูกสร้างขึ้นในเครื่องมืออย่างเช่น Notepad และโค้ดนั้นถูกบันทึกในรูปแบบต่างๆ มากมาย บาง เบราว์เซอร์สมัยใหม่ไม่สามารถจดจำการเข้ารหัสดังกล่าวได้

การเพิ่มประสิทธิภาพเว็บไซต์ภายใน

ในกรณีส่วนใหญ่ การเพิ่มประสิทธิภาพทรัพยากรภายในที่มีความสามารถสามารถนำไซต์ไปยังตำแหน่งที่ดีที่สุดของเครื่องมือค้นหาโดยไม่ต้องใช้ความพยายามอย่างมากและทำงานร่วมกับการแลกเปลี่ยนลิงก์ ทุกสิ่งเล็กน้อยที่ส่งผลต่อตำแหน่งของเขามีความสำคัญ พยายามสร้างโครงสร้างที่เข้าใจได้ทั้งผู้ใช้และ เครื่องมือค้นหา. พอร์ทัลหลายหน้าควรมีส่วนที่จัดระเบียบ ซึ่งหน้าทั้งหมดอยู่ห่างออกไปไม่เกิน 3-4 คลิก แนะนำให้ใช้เบรดครัมบ์และที่อยู่เว็บที่มนุษย์อ่านได้ ขออภัย ไม่ใช่สคริปต์ CMS ทั้งหมดที่มีฟังก์ชันนี้

บทสรุป

ด้านเทคนิคของการโปรโมตเว็บไซต์ที่ประสบความสำเร็จได้รับการแก้ไขโดยโค้ด html ที่ปรับให้เหมาะสม เครื่องมือค้นหาหน้าของไซต์ได้รับการประเมินแตกต่างจากผู้ใช้ ดังนั้นโค้ดที่ชัดเจนและถูกต้องสามารถผลักดันทรัพยากรของคุณในผลการค้นหา ซึ่งบางครั้งตำแหน่งเพียงไม่กี่ตำแหน่งก็มีส่วนชี้ขาด

ฉันหวังว่าเนื้อหาจะเป็นประโยชน์กับผู้อ่านที่รักของฉัน สมัครรับข้อมูลอัปเดตบล็อก ฉันจะขอบคุณสำหรับการกดปุ่มและรีโพสต์เนื้อหานี้ แล้วพบกันใหม่บทความหน้าครับ โชคดีทุกคน.

ในเว็บไซต์นี้ฉันมักจะแบ่งปันประสบการณ์ของฉัน แต่บางครั้งฉันเองก็ต้องการคำแนะนำ และบทความสั้น ๆ นี้จะมาจากซีรี่ส์ Kalash นี้เท่านั้น เนื่องจากปัญหานั้นสูงกว่าความสามารถของฉันเล็กน้อย แต่จำเป็นต้องแก้ไข ดังนั้นคำถามคือในระดับหนึ่งสำหรับผู้อ่าน แต่ความจริงก็คือ Google ที่รักของเราบอกฉันว่าเว็บไซต์ของฉันยังไม่สมบูรณ์และทำให้เว็บไซต์ช้าลง

ฉันไม่ใช่โปรแกรมเมอร์ อย่างที่เขาพูดกัน ฉันพูดภาษาไม่ได้ แต่ปัญหาต้องได้รับการแก้ไข ซึ่งเป็นเหตุผลที่ฉันนำมันมาไว้ที่นี่ แน่นอน แม้ว่าคำถามจะซับซ้อน แต่ก็ไม่ยากไปกว่าการทำความเข้าใจว่ามันคืออะไรและมันช่วยในการจัดการการค้าได้อย่างไร

วิธีเพิ่มประสิทธิภาพโค้ดเว็บไซต์?

ฉันจะพยายามคิดออกในหน้าบล็อกของฉัน นอกจากนี้ จะไม่สามารถทำทุกอย่างพร้อมกันได้ แต่คุณต้องมีแผนปฏิบัติการ

ฉันต้องการเริ่มต้นด้วยการอธิบายว่าสุนัขถูกฝังไว้ที่ไหน คุณอาจใช้ระบบจัดการเนื้อหาบางอย่างสำหรับเว็บไซต์ของคุณ เช่น WordPress, Joomla, Drupal หรืออย่างอื่น ระบบเหล่านี้สร้างขึ้นโดยผู้เชี่ยวชาญและมีข้อผิดพลาดเล็กน้อย

แต่นี่คือเทมเพลตที่เราส่วนใหญ่นำมาจากการเข้าถึงฟรี ทำบาปด้วยข้อผิดพลาด โดยเฉพาะอย่างยิ่งของฟรีมักจะทำโดยมือสมัครเล่นและลูกหลานของพวกเขาก็ไม่สมบูรณ์แบบ และมันเป็นข้อผิดพลาดในเทมเพลตที่ดี Google ชี้ให้ฉันเห็น พวกเขาคืออะไร?

Google แสดงข้อผิดพลาดแยกกันเมื่อโหลดไซต์จากอุปกรณ์เคลื่อนที่และเดสก์ท็อป อย่างไรก็ตามมีความแตกต่างกัน แล้วมีข้อผิดพลาดอะไรหรือแม้แต่โค้ดจำนวนมากในเทมเพลตของฉัน

สำหรับคอมพิวเตอร์:

1. ควรแก้ไขนี่เป็นความผิดพลาดครั้งใหญ่!

ใช้แคชของเบราว์เซอร์!
หากคุณระบุวันที่หรือวันหมดอายุของทรัพยากรแบบคงที่ในส่วนหัว HTTP เบราว์เซอร์จะดาวน์โหลดทรัพยากรที่ได้รับก่อนหน้านี้จาก ดิสก์ภายในเครื่องและไม่ได้มาจากอินเทอร์เน็ต
ใช้แคชของเบราว์เซอร์สำหรับทรัพยากรต่อไปนี้:

http://avatars-fast.yandex.net/get-direct/nubNH6Z6vqKZZtboVlYcQg/y80 (ไม่มีวันหมดอายุ) http://directstat.ru/script (ไม่มีวันหมดอายุ) https://prostolinux.ru/karta-saita/ (ไม่ได้ระบุวันหมดอายุ) https://prostolinux.ru/prostolinux.png (ไม่ได้ระบุวันหมดอายุ) (ไม่ได้ระบุวันหมดอายุ) (ไม่ได้ระบุวันหมดอายุ) https://prostolinux.ru/wp-content/themes /rockwell_new/rockwell/css /jquery.lightbox-0.5.css (ไม่ได้ระบุวันหมดอายุ) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/css/orange.css (ไม่ได้ระบุวันหมดอายุ) https://prostolinux.ru/wp -content/themes/rockwell_new/rockwell/css/superfish.css (ไม่มีวันหมดอายุ) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images/bk_body.jpg (ไม่มีวันหมดอายุ) https:/ /prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images/bk_dotted_vert.gif (ไม่มีวันหมดอายุ) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images/bk_menu_orange.jpg (ไม่ วันหมดอายุ wiya) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images/bullet_top.jpg (ไม่ระบุวันหมดอายุ) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images /ico_date_orange.png (ไม่มีวันหมดอายุ) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images/topmenu_border_orange.jpg (ไม่มีวันหมดอายุ) https://prostolinux.ru/wp-content /themes /rockwell_new/rockwell/js/copy.js (ไม่ระบุวันหมดอายุ) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/js/jquery-1.3.2.min.js (ไม่ระบุ) วันหมดอายุ ) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/js/jquery.form.js (ไม่ได้ระบุวันหมดอายุ) (ไม่ได้ระบุวันหมดอายุ) (ไม่ได้ระบุวันหมดอายุ) https:// prostolinux.ru/wp -content/themes/rockwell_new/rockwell/style.css (ไม่ได้ระบุวันหมดอายุ) https://prostolinux.ru/wp-includes/images/smilies/icon_smile.gif (ไม่ได้ระบุวันหมดอายุ)

ที่นี่ฉันยังไม่เข้าใจว่าระยะเวลาที่ใช้ได้คืออะไรและควรระบุที่ใด คุณรู้?

2. พิจารณาแก้ไข

ลบ JavaScript และ CSS ที่ปิดกั้นการแสดงผลออกจากด้านบนของหน้า

จำนวนสคริปต์การบล็อกต่อหน้า: 1. จำนวนการบล็อกทรัพยากร CSS ต่อหน้า: 4. ทำให้การแสดงเนื้อหาช้าลง
เนื้อหาทั้งหมดที่ด้านบนของหน้าจะแสดงหลังจากดาวน์โหลดทรัพยากรต่อไปนี้แล้วเท่านั้น พยายามชะลอการโหลดทรัพยากรเหล่านี้ โหลดแบบอะซิงโครนัส หรืออินไลน์ด้วยตัวคุณเอง ส่วนประกอบที่สำคัญลงในโค้ด HTML โดยตรง
ลบ JavaScript ที่ปิดกั้นการแสดงผล:

https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/js/jquery-1.3.2.min.js

เพิ่มประสิทธิภาพ งานซีเอสเอสในแหล่งข้อมูลต่อไปนี้:

https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/style.css
https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/css/orange.css
https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/css/jquery.lightbox-0.5.css
https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/css/superfish.css

ที่นี่ปัญหาชัดเจนมากขึ้น แต่ฉันยังไม่รู้วิธีแก้ไข อัปโหลดไปยัง เซิร์ฟเวอร์ภายในสำเนาของไซต์เพื่อแก้ไขรหัสอย่างปลอดภัย เราจะฝึกฝน

3. ย่อขนาด JavaScriptคือระดับความผิดพลาดโดยเฉลี่ย การแก้ไขข้อบกพร่องจะทำให้ไซต์เร็วขึ้นเล็กน้อย
การบีบอัดโค้ด JavaScript ช่วยให้คุณลดปริมาณข้อมูลเพื่อเพิ่มความเร็วในการโหลด การประมวลผล และการดำเนินการ
ย่อโค้ด JavaScript บนทรัพยากรต่อไปนี้เพื่อลดขนาดลง 19.4 KB (46%
การย่อ https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/js/jquery-1.3.2.min.js จะลดขนาดลง 14 KB (41%
การย่อ https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/js/jquery.form.js จะลดขนาดลง 5.4 KB (64%
4. ปรับรูปภาพให้เหมาะสม - นี่คืออัตราข้อผิดพลาดโดยเฉลี่ย การแก้ไขข้อบกพร่องจะทำให้ไซต์เร็วขึ้นเล็กน้อย

รูปแบบและการบีบอัดภาพที่ถูกต้องสามารถลดขนาดได้

ปรับรูปภาพต่อไปนี้ให้เหมาะสมเพื่อลดขนาดลง 5 KB (14%
หากคุณบีบอัดรูปภาพแบบไม่สูญเสียข้อมูล รูปภาพจะลดขนาดลง 2 KB (8%
หากคุณบีบอัดรูปภาพโดยไม่สูญเสีย https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images/ico_date_orange.png สิ่งนี้จะลดขนาดลง 1.7 KB (31%
หากคุณบีบอัดรูปภาพโดยไม่สูญเสียข้อมูล http://avatars-fast.yandex.net/get-direct/nubNH6Z6vqKZZtboVlYcQg/y80 สิ่งนี้จะลดขนาดลง 1.3 KB (19%

5. ลดเวลาตอบสนองของเซิร์ฟเวอร์ - นี่คืออัตราข้อผิดพลาดโดยเฉลี่ย การแก้ไขข้อบกพร่องจะทำให้ไซต์เร็วขึ้นเล็กน้อย

จากผลการทดสอบ เวลาตอบสนองของเซิร์ฟเวอร์ของคุณคือ 0.24 วินาที ตัวบ่งชี้นี้ได้รับอิทธิพลจากหลายปัจจัย อ่านแนวทางปฏิบัติที่ดีที่สุดของเราและเรียนรู้วิธีติดตามและวัดเวลาตอบสนอง

ฉันไม่คิดว่ามันเยอะ แต่ดูเหมือนว่าจะเป็นเรื่องของการให้เช่าที่พัก คุณต้องหาข้อมูลที่นั่น
6. ลดขนาด HTMLคือระดับความผิดพลาดโดยเฉลี่ย การแก้ไขข้อบกพร่องจะทำให้ไซต์เร็วขึ้นเล็กน้อย
การบีบอัดโค้ด HTML (รวมถึง JavaScript แบบอินไลน์หรือโค้ด CSS) ช่วยลดจำนวนข้อมูลเพื่อเพิ่มความเร็วในการโหลดและประมวลผล

ย่อโค้ด HTML บนทรัพยากรต่อไปนี้เพื่อลดขนาดลง 1.7 KB (8%
การลด https://prostolinux.ru/kak-usilit-signal-3g-modema/ จะลดขนาดลง 1.7 KB (8%

สำหรับมือถือ:

ที่นี่ข้อผิดพลาดทั้งหมดเหมือนกัน แต่มีความแตกต่างที่ พวกเขาทั้งหมดถูกทำเครื่องหมายว่าสำคัญ!

มันหมายความว่าอะไร? ซึ่งหมายความว่าเมื่อโหลดไซต์จาก อุปกรณ์โทรศัพท์ทุกอย่างควรจะเร็วขึ้นมากเนื่องจากช่องอินเทอร์เน็ตมักจะมีอยู่แล้ว

ใช่ ฉันไม่ได้บอกว่า Google แสดงข้อผิดพลาดเหล่านี้ให้ฉันเห็นที่ใด และเขาแสดงให้ฉันเห็นในแผง Google Adsense หรือคุณสามารถไปที่ https://developers.google.com/speed/pagespeed/insights/ และค้นหาสิ่งที่ต้องแก้ไข เนื่องจากการปรับโค้ดบนเว็บไซต์นั้นไม่ใช่เรื่องง่าย แต่คุณต้องทำเท่านั้น มันครั้งเดียว

หากคุณรู้วิธีแก้ปัญหาอย่างน้อยก็ฉันจะขอบคุณมากสำหรับคำแนะนำของคุณ ในระหว่างนี้ฉันจะค้นหาคำตอบสำหรับคำถามสำคัญเหล่านี้ทางอินเทอร์เน็ต ....

โซลูชั่น

1. เปิดการบีบอัด

สิ่งแรกที่ทำให้สามารถปรับปรุงได้ทันทีคือการเพิ่มโค้ดลงในไฟล์ htaccessซึ่งอยู่ที่รูทของไซต์

ส่วนหัว SetOutputFilter DEFLATE ต่อท้าย Vary User-Agent FileETag MTime ขนาด ExpiresActive on ExpiresDefault "การเข้าถึงบวก 1 เดือน" SetOutputFilter ยุบ

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

การวิเคราะห์หน้าพบว่าสคริปต์เทมเพลตบางตัวรบกวนการโหลดหน้า ลบสคริปต์หลายรูปแบบต่อไปนี้ออกจาก header.php:

หลังจากการลบไซต์ทั้งทำงานและใช้งานได้ซึ่งจำเป็นและไม่เข้าใจ การทดสอบของ Google แสดงทีละครั้ง ฉันลบและตรวจสอบ หลังจากลบอันหนึ่งออก อันถัดไปก็ปรากฏขึ้น ดังนั้นฉันจึงลบออก 4-5 ชิ้นและทุกอย่างเรียบร้อยดี

และปรับปรุงประสิทธิภาพ. เป้าหมายการปรับให้เหมาะสมรวมถึงการลดจำนวนโค้ด จำนวน RAM ที่ใช้โดยโปรแกรม การเร่งความเร็วของโปรแกรม และลดจำนวนการดำเนินการ I/O

ข้อกำหนดหลักที่มักทำกับวิธีการเพิ่มประสิทธิภาพคือโปรแกรมที่ปรับให้เหมาะสมต้องมีผลลัพธ์และผลข้างเคียงเหมือนกันบนข้อมูลอินพุตชุดเดียวกันกับโปรแกรมที่ไม่ปรับให้เหมาะสม อย่างไรก็ตาม ข้อกำหนดนี้อาจไม่ได้มีบทบาทพิเศษ หากพิจารณาได้ว่าประโยชน์ที่ได้รับจากการใช้การปรับให้เหมาะสมมีความสำคัญมากกว่าผลที่ตามมาของการเปลี่ยนแปลงพฤติกรรมของโปรแกรม

ประเภทของการเพิ่มประสิทธิภาพ

การปรับโค้ดให้เหมาะสมสามารถทำได้ทั้งแบบแมนนวล โดยโปรแกรมเมอร์ และแบบอัตโนมัติ ในกรณีหลังนี้ เครื่องมือเพิ่มประสิทธิภาพสามารถเป็นเครื่องมือซอฟต์แวร์แยกต่างหากหรือสร้างไว้ในคอมไพเลอร์ก็ได้ (ที่เรียกว่าการปรับให้เหมาะสมคอมไพเลอร์) นอกจากนี้ ควรสังเกตว่าโปรเซสเซอร์สมัยใหม่สามารถปรับลำดับของการดำเนินการคำสั่งโค้ดให้เหมาะสมได้

มีแนวคิดเช่นการเพิ่มประสิทธิภาพระดับสูงและระดับต่ำ การปรับให้เหมาะสมระดับสูงส่วนใหญ่ดำเนินการโดยโปรแกรมเมอร์ ผู้ซึ่งดำเนินการกับเอนทิตีที่เป็นนามธรรม (ฟังก์ชัน ขั้นตอน คลาส ฯลฯ) และจินตนาการถึงแบบจำลองทั่วไปสำหรับการแก้ปัญหา สามารถปรับการออกแบบระบบให้เหมาะสมได้ การปรับให้เหมาะสมที่ระดับบล็อกโครงสร้างพื้นฐานของซอร์สโค้ด (ลูป แบรนช์ ฯลฯ) มักเรียกว่าระดับสูง บางคนแยกออกเป็นระดับ ("กลาง") แยกจากกัน (N. Wirth?) การปรับให้เหมาะสมในระดับต่ำจะดำเนินการในขั้นตอนของการเปลี่ยนซอร์สโค้ดเป็นชุดคำสั่งของเครื่อง และบ่อยครั้งที่ขั้นตอนนี้ขึ้นอยู่กับการทำงานอัตโนมัติ อย่างไรก็ตาม โปรแกรมเมอร์ภาษาแอสเซมบลีเชื่อว่าไม่มีเครื่องจักรใดสามารถทำงานได้ดีกว่าโปรแกรมเมอร์ที่ดีในเรื่องนี้ (ในขณะที่ทุกคนยอมรับว่าโปรแกรมเมอร์ที่ไม่ดีจะทำให้เครื่องจักรแย่ลงไปอีก)

การเลือกพื้นที่ที่จะปรับให้เหมาะสม

เมื่อปรับโค้ดให้เหมาะสมด้วยตนเอง มีปัญหาอีกประการหนึ่ง: คุณต้องรู้ไม่เพียงแค่วิธีปรับให้เหมาะสมเท่านั้น แต่ยังต้องรู้ด้วยว่าจะใช้โค้ดนั้นที่ตำแหน่งใดด้วย โดยปกติแล้ว เนื่องจากปัจจัยต่างๆ (การป้อนข้อมูลที่ช้า ความแตกต่างของความเร็วของผู้ปฏิบัติงานและเครื่องจักร ฯลฯ) เพียง 10% ของโค้ดใช้เวลาดำเนินการมากถึง 90% (แน่นอนว่าคำสั่งนั้นค่อนข้าง การเก็งกำไรและมีพื้นฐานที่น่าสงสัยในรูปแบบของกฎหมาย Pareto อย่างไรก็ตาม E. Tanenbaum ดูค่อนข้างน่าเชื่อ) เนื่องจากต้องใช้เวลาเพิ่มเติมในการเพิ่มประสิทธิภาพ ดังนั้น แทนที่จะพยายามเพิ่มประสิทธิภาพทั้งโปรแกรม จะเป็นการดีกว่าที่จะเพิ่มประสิทธิภาพเหล่านี้ "สำคัญ" 10% ของเวลาดำเนินการ รหัสดังกล่าวเรียกว่าคอขวดหรือคอขวดและเพื่อตรวจสอบว่ามีการใช้โปรแกรมพิเศษ - ตัวสร้างโปรไฟล์ที่ช่วยให้คุณวัดเวลาของส่วนต่าง ๆ ของโปรแกรม

ในความเป็นจริง ในทางปฏิบัติ การปรับให้เหมาะสมมักจะทำหลังจากขั้นตอนการเขียนโปรแกรม "วุ่นวาย" (เกี่ยวกับสิ่งต่างๆ เช่น "", "เราจะคิดออกในภายหลัง", "เราจะทำมันต่อไป") ดังนั้นจึงเป็นส่วนผสมของความเหมาะสม การเพิ่มประสิทธิภาพ การปรับโครงสร้างใหม่ และการแก้ไข: การทำให้โครงสร้าง "แฟนซี" ง่ายขึ้น เช่น strlen(path.c_str()) เงื่อนไขบูลีน (a.x != 0 && a.x != 0) เป็นต้น Profilers แทบจะไม่เหมาะสำหรับการเพิ่มประสิทธิภาพดังกล่าว อย่างไรก็ตาม เพื่อตรวจหาตำแหน่งดังกล่าว คุณสามารถใช้โปรแกรม - เครื่องมือสำหรับค้นหาข้อผิดพลาดทางความหมายโดยอิงจากการวิเคราะห์เชิงลึกของซอร์สโค้ด - อย่างที่คุณเห็นจากตัวอย่างที่สอง โค้ดที่ไม่มีประสิทธิภาพอาจเป็นผลมาจากข้อผิดพลาด (เช่น พิมพ์ผิดในตัวอย่างนี้ - เป็นไปได้มากที่สุด a.x != 0 && a.y != 0) คนดีจะตรวจจับรหัสดังกล่าวและแสดงข้อความเตือน

อันตรายและประโยชน์ของการเพิ่มประสิทธิภาพ

เกือบทุกอย่างในการเขียนโปรแกรมควรได้รับการปฏิบัติอย่างมีเหตุผล และการเพิ่มประสิทธิภาพก็ไม่มีข้อยกเว้น เชื่อกันว่าโปรแกรมเมอร์แอสเซมเบลอร์ที่ไม่มีประสบการณ์มักจะเขียนโค้ดที่ช้ากว่าโค้ดที่สร้างโดยคอมไพเลอร์ (Zubkov) 3-5 เท่า มีการแสดงออกที่รู้จักกันดีเกี่ยวกับการเพิ่มประสิทธิภาพในช่วงต้นค่อนข้างต่ำ (เช่นการต่อสู้เพื่อตัวดำเนินการพิเศษหรือตัวแปร) ซึ่งกำหนดโดย Knuth: "การปรับให้เหมาะสมก่อนกำหนดเป็นรากเหง้าของปัญหาทั้งหมด"

คนส่วนใหญ่ไม่มีข้อตำหนิใด ๆ เกี่ยวกับการเพิ่มประสิทธิภาพที่ดำเนินการโดยเครื่องมือเพิ่มประสิทธิภาพ และบางครั้งการปรับให้เหมาะสมบางอย่างก็เป็นมาตรฐานและจำเป็นในทางปฏิบัติ ตัวอย่างเช่น การเพิ่มประสิทธิภาพแบบเรียกซ้ำหางในภาษาที่ใช้งานได้ แบบเป็นวัฏจักร)

อย่างไรก็ตาม ควรทำความเข้าใจว่าการเพิ่มประสิทธิภาพที่ซับซ้อนจำนวนมากในระดับรหัสเครื่องอาจทำให้กระบวนการคอมไพล์ช้าลงอย่างมาก ยิ่งกว่านั้น การได้รับจากสิ่งเหล่านี้อาจน้อยมากเมื่อเทียบกับการเพิ่มประสิทธิภาพการออกแบบโดยรวมของระบบ (เวิร์ธ) นอกจากนี้เราไม่ควรลืมว่าภาษา "แฟนซี" ที่ทันสมัยวากยสัมพันธ์และความหมายมีรายละเอียดปลีกย่อยมากมายและโปรแกรมเมอร์ที่ไม่ได้คำนึงถึงสิ่งเหล่านี้อาจรู้สึกประหลาดใจกับผลที่ตามมาจากการเพิ่มประสิทธิภาพ

ตัวอย่างเช่น พิจารณาภาษา C++ และสิ่งที่เรียกว่า Return-Value Optimization สาระสำคัญคือการที่คอมไพเลอร์ไม่สามารถสร้างสำเนาของวัตถุชั่วคราวที่ส่งคืนโดยฟังก์ชัน เนื่องจากคอมไพเลอร์ "ข้าม" การคัดลอกในกรณีนี้ เคล็ดลับนี้จึงเรียกอีกอย่างว่า "การลบการคัดลอก" ดังนั้นรหัสต่อไปนี้:

#รวม โครงสร้าง C ( C() () C(const C&) ( std::cout<< "A copy was made.\n"; } }; C f() { return C(); } int main() { std::cout << "Hello World!\n"; C obj = f(); }

สามารถมีตัวเลือกเอาต์พุตได้หลายตัว:

สวัสดีชาวโลก! มีการทำสำเนา มีการทำสำเนา สวัสดีชาวโลก! มีการทำสำเนา สวัสดีชาวโลก!

แดกดัน ตัวเลือกทั้งสามนั้นถูกกฎหมาย เนื่องจากมาตรฐานภาษาอนุญาตให้ละเว้นการเรียกตัวสร้างการคัดลอกในกรณีนี้ แม้ว่าตัวสร้างจะมีผลข้างเคียงก็ตาม (§12.8 การคัดลอกวัตถุคลาส ข้อ 15)

ผล

ดังนั้นอย่าลืมเพิ่มประสิทธิภาพโค้ดโดยใช้เครื่องมือซอฟต์แวร์พิเศษหากเป็นไปได้ แต่ควรทำอย่างระมัดระวังและด้วยความระมัดระวัง และบางครั้งก็เตรียมคอมไพเลอร์ให้ประหลาดใจ

พีวีเอส สตูดิโอ

รายการบรรณานุกรม

  • อี. ทาเนนบอม. สถาปัตยกรรมคอมพิวเตอร์.
  • Wirth N. คอมไพเลอร์อาคาร.
  • Knut D. ศิลปะแห่งการเขียนโปรแกรม เล่มที่ 1 อัลกอริทึมพื้นฐาน
  • Zubkov S.V. แอสเซมเบลอร์สำหรับ DOS, Windows และ UNIX
  • วิกิพีเดีย. การเพิ่มประสิทธิภาพรหัส
  • วิกิพีเดีย.

การปรับโค้ด HTML และสไตล์ชีตแบบเรียงซ้อน (CSS) ให้เหมาะสมเป็นสิ่งที่จำเป็นเพื่อเพิ่มความเร็วให้กับกระบวนการโหลดของไซต์และเนื้อหาที่โฮสต์อยู่ โดยทั่วไปแล้วการประหยัดเวลาและปริมาณการใช้ข้อมูลหลังจากผ่านไปนานหลังจากการเพิ่มประสิทธิภาพจะกลายเป็นสิ่งสำคัญแม้ว่าการเปลี่ยนแปลงความเร็วจะไม่สังเกตเห็นได้จากภายนอกก็ตาม

การเพิ่มประสิทธิภาพโค้ด HTML

เพื่อให้โค้ด HTML ช่วยให้เว็บไซต์โหลดเร็วได้ จะต้องเป็นไปตามเงื่อนไขหลายประการ:

  • เรียบง่ายและให้ข้อมูล หลังจากตรวจสอบความถูกต้องแล้ว คุณต้องแก้ไขข้อผิดพลาดเพื่อให้บอทวิเคราะห์ได้ง่ายขึ้น รหัสควรแสดงถึงโครงสร้างของหน้าอย่างชัดเจน
  • ส่วนประกอบหลักของหน้า เช่น ส่วนหัว ดัชนี กลุ่มข้อมูลควรระบุได้ง่ายและรวดเร็ว
  • การทำให้โค้ดว่างจากข้อมูลที่ไม่จำเป็น ใส่ลงในไฟล์แยกกัน (เช่น คุณสามารถใส่ CSS และ JS) จะเพิ่มความเร็วในการดาวน์โหลด ซึ่งยังทำให้การทำงานของบอทง่ายขึ้นอีกด้วย

เมื่อบรรลุเงื่อนไขเหล่านี้แล้ว ไซต์จะเร็วขึ้น สะดวกขึ้น และประสิทธิภาพของการสร้างดัชนีโดยบอตของเครื่องมือค้นหาสามารถเพิ่มขึ้นได้

การลดรหัสและการเพิ่มประสิทธิภาพ CSS

คุณสามารถทำให้โค้ดไซต์ง่ายขึ้นโดยลดปริมาณลง ในการทำเช่นนี้คุณต้องดำเนินการหลายอย่าง

ก่อนอื่น คุณควรหลีกเลี่ยงเทคโนโลยีแฟลช, JavaScript, เฟรม, ข้อความที่แสดงด้วยรูปภาพ หากเป็นไปได้ องค์ประกอบทั้งหมดควรแสดงเป็นไฟล์ภายนอกแยกกัน (เช่น CSS และ JS ตามที่ระบุไว้ข้างต้น) ปลั๊กอินพิเศษจะช่วยเพิ่มประสิทธิภาพโค้ด ตัวอย่างเช่น คุณสามารถติดตั้งปลั๊กอิน Autoptimize ซึ่งจะเพิ่มประสิทธิภาพโค้ด HTML, CSS, JS โดยอัตโนมัติ (หากคุณเลือกช่องที่เหมาะสม) จำเป็นต้องตั้งค่าการนำทางไซต์ที่มีความสามารถและสะดวกสบายซึ่งผู้ใช้จะเข้าใจได้และเครื่องมือค้นหาจะจดจำได้อย่างถูกต้อง สิ่งนี้จะเพิ่มความเร็วคุณภาพการโหลดและการจัดทำดัชนีของไซต์

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

วิธีปรับปรุงโครงสร้าง CSS ด้วยตนเอง:

  • ลบช่องว่างพิเศษและตัวแบ่งบรรทัดที่โหลดไฟล์ CSS มากเกินไปและทำให้หุ่นยนต์ทำงานได้ยาก
  • เขียนคุณสมบัติทั่วไปแทนการทำซ้ำคำสั่งที่คล้ายกันหลายๆ ครั้ง
  • ใช้คำอธิบายที่กระชับและเข้าใจได้ในความคิดเห็น
  • เขียนแบบอักษรที่ผิดปกติโดยใช้สไตล์ไม่ใช่รูปภาพ
  • สำหรับรูปภาพ ให้สร้าง alt และชื่อเรื่อง (แตกต่างกันสำหรับแต่ละรูปภาพ) เพื่อให้บอทของเครื่องมือค้นหารู้จักเนื้อหาของรูปภาพนั้น
  • ใช้เครื่องมือ H1 กับหัวเรื่อง - และอื่น ๆ เพื่อให้จดจำได้อย่างถูกต้องระหว่างการจัดทำดัชนี
  • กำหนดคำหลักเฉพาะคำหลักที่ใช้ในเพจลดจำนวนให้น้อยที่สุด
  • ใช้เมตาแท็กที่หลากหลายและกระชับ

เครื่องมือเพิ่มประสิทธิภาพ CSS และ HTML

คุณสามารถเพิ่มประสิทธิภาพโดยตรงในเบราว์เซอร์ได้อย่างสะดวกและรวดเร็วโดยใช้บริการพิเศษ เช่น:

  • CleanCSS.com;
  • เครื่องมือเพิ่มประสิทธิภาพ CSS;
  • CSS คอมเพรสเซอร์
  • CYPR.com;
  • ปลั๊กอินเพิ่มประสิทธิภาพอัตโนมัติ

ผู้เชี่ยวชาญด้าน SEO และ IT แนะนำให้ใช้ CleanCSS.com เนื่องจากคุณสามารถเลือกระดับการบีบอัดจากต่ำไปสูงหรือเลือกการตั้งค่าแต่ละรายการได้ หลังจากการเพิ่มประสิทธิภาพในระดับสูงและสูงสุด โค้ดของไซต์แทบจะอ่านไม่ได้ และแทบจะเป็นไปไม่ได้เลยที่จะทำการเปลี่ยนแปลง ดังนั้น ในการเริ่มต้น คุณควรใช้การเพิ่มประสิทธิภาพมาตรฐาน คุณสามารถเลือกโหมดการบีบอัดสำหรับเนื้อหาเฉพาะหรือปรับพารามิเตอร์แต่ละตัวให้เหมาะสม: การบีบอัดแบบอักษร รูปภาพ การลบช่องว่าง

CY-PR.com ยังมีเครื่องมือเพิ่มประสิทธิภาพที่คล้ายคลึงกันซึ่งแบ่งเบาโครงสร้าง CSS ลง 25-30% แต่ไม่มีวิธีสร้างไฟล์โค้ดหลังการดำเนินการ

บริการที่เหลือสามารถเปลี่ยนรหัสได้อย่างสิ้นเชิงเพื่อให้ฟังก์ชันบางอย่างในไซต์หยุดทำงาน ดังนั้นด้วยความช่วยเหลือของพวกเขา จึงเป็นการดีกว่าที่จะทำการเปลี่ยนแปลงเฉพาะในพารามิเตอร์ของไซต์เฉพาะ

หลังจากการเพิ่มประสิทธิภาพ คุณควรตรวจสอบประสิทธิภาพของไซต์ การแสดงการออกแบบที่ถูกต้อง และความเร็วในการดาวน์โหลด ปกติคือสถานการณ์เมื่อโหลดหน้าและตัวเลือกผู้ใช้ของไซต์ไม่เกิน 3-5 วินาที

เพื่อตรวจสอบระดับของการเพิ่มประสิทธิภาพและทำความเข้าใจว่าโค้ด HTML นั้นเขียนได้อย่างมีประสิทธิภาพเพียงใด คุณสามารถใช้บริการต่างๆ เช่น:

  • optimization.com;
  • รายการตรวจสอบ seo ของพอร์ทัล;
  • ปลั๊กอิน firebug

เครื่องมือเหล่านี้จะช่วยคุณตรวจสอบว่าได้ทำทุกอย่างเพื่อลดจำนวนโค้ด HTML และปรับปรุงโครงสร้างหรือไม่ ในทรัพยากรรายการตรวจสอบ SEO คุณสามารถตรวจสอบรายการของสิ่งที่ได้ทำไปแล้วเพื่อเพิ่มประสิทธิภาพ และสิ่งที่ยังไม่ได้ทำ และทำเครื่องหมายการกระทำที่เสร็จสมบูรณ์

การตรวจสอบ

คุณสามารถตรวจสอบรหัสไซต์เพื่อหาข้อผิดพลาดโดยใช้บริการตรวจสอบความถูกต้อง - เครื่องมือตรวจสอบความถูกต้อง การตรวจสอบรหัสอย่างมีประสิทธิภาพทำได้ด้วย validator.w3c.org

หากระบบสร้างข้อผิดพลาดมากกว่าครึ่งพันในการตรวจสอบครั้งแรก คุณไม่ควรอารมณ์เสีย หลังจากแก้ไขข้อบกพร่องบางอย่างแล้ว คุณสามารถเรียกใช้การตรวจสอบอีกครั้งและจะมีข้อผิดพลาดน้อยลงมาก เนื่องจากข้อบกพร่องหนึ่งข้อจะเกี่ยวข้องกับข้อบกพร่องอื่นๆ และเมื่อแก้ไขแล้ว ข้อบกพร่องเหล่านั้นจะหายไป

ไซต์ที่มีโค้ดที่แก้ไขและปรับให้เหมาะสมมีแนวโน้มที่จะอยู่ในอันดับสูงในผลการค้นหามากกว่าทรัพยากรที่มีโค้ด HTML ที่โอเวอร์โหลดซึ่งมีข้อผิดพลาด

การเพิ่มประสิทธิภาพรหัสเรียกว่าการเปลี่ยนแปลงในรหัสที่ถูกต้องโดยมีวัตถุประสงค์เพื่อเพิ่มประสิทธิภาพ “การเพิ่มประสิทธิภาพ” หมายถึงการเปลี่ยนแปลงเล็กๆ น้อยๆ ที่ส่งผลต่อหนึ่งคลาส หนึ่งเมธอด และส่วนใหญ่มักมีหลายบรรทัดของโค้ด การเปลี่ยนแปลงการออกแบบขนาดใหญ่หรือการปรับปรุงประสิทธิภาพระดับสูงอื่นๆ ไม่ถือว่าเป็นการปรับให้เหมาะสม นี่ไม่ใช่วิธีที่มีประสิทธิภาพที่สุดในการปรับปรุงประสิทธิภาพ การปรับปรุงสถาปัตยกรรมของโปรแกรม การออกแบบคลาสใหม่ และการเลือกอัลกอริธึมที่มีประสิทธิภาพมากขึ้นจะนำไปสู่ผลลัพธ์ที่น่าประทับใจยิ่งขึ้น นอกจากนี้ การเพิ่มประสิทธิภาพโค้ดไม่ใช่วิธีที่ง่ายที่สุดในการปรับปรุงประสิทธิภาพ: ง่ายกว่าที่จะซื้อฮาร์ดแวร์ใหม่หรือคอมไพเลอร์ที่มีโมดูลเพิ่มประสิทธิภาพที่ได้รับการปรับปรุง สุดท้าย มันไม่ใช่วิธีที่ถูกที่สุดในการปรับปรุงประสิทธิภาพ: ต้องใช้เวลามากในการเพิ่มประสิทธิภาพโค้ดด้วยตนเองในขั้นต้น จากนั้นโค้ดที่ปรับให้เหมาะสมจะดูแลรักษาได้ยากกว่า

การเพิ่มประสิทธิภาพโดยโปรแกรมเมอร์.

1). ขยายโครงสร้างข้อมูลโดยการเพิ่มข้อมูลเพิ่มเติมหรือเปลี่ยนการแสดงข้อมูลในโครงสร้างนี้ 2). คำนวณผลลัพธ์ล่วงหน้าและเก็บไว้ใช้ในภายหลัง 3) . การประยุกต์ใช้บรรจุภัณฑ์ข้อมูล 4) . วงในควรมีจำนวนการตรวจสอบขั้นต่ำที่เป็นไปได้ และที่ดีที่สุดคือมีเพียงหนึ่งรายการเท่านั้น 5) . ลบการกระโดดที่ไม่มีเงื่อนไข 6) . การตรวจสอบบูลีนควรจัดให้เงื่อนไขที่เร็วกว่าซึ่งมีแนวโน้มว่าจะถูกต้องมากกว่ามาก่อนเงื่อนไขที่ช้ากว่าซึ่งไม่น่าจะถูกต้อง 7). ฟังก์ชันตรรกะในชุดค่าเริ่มต้นขนาดเล็กสามารถแทนที่ด้วยตารางที่เป็นตัวแทนของชุดนี้ 8). การลบนิพจน์ที่ซ้ำกัน 9). ถ้านิพจน์ที่เหมือนกันตั้งแต่สองนิพจน์ขึ้นไปมักได้รับการประเมินติดต่อกัน ควรย้ายนิพจน์เหล่านั้นไปยังรูทีนย่อย 10) . การเปลี่ยนประเภทข้อมูลอาจเป็นวิธีที่มีประสิทธิภาพในการลดโค้ดและปรับปรุงประสิทธิภาพ 11) . เขียนโค้ดใหม่ด้วยภาษาระดับต่ำหากประสิทธิภาพต่ำ ควรเขียนโค้ดใหม่ด้วยภาษาระดับต่ำ หากคุณกำลังเขียนด้วย C++ ภาษาระดับต่ำอาจเป็น Assembler การเขียนโค้ดใหม่ด้วยภาษาระดับต่ำมักจะส่งผลดีต่อประสิทธิภาพของโค้ด

การเพิ่มประสิทธิภาพคอมไพเลอร์.

วิธีการเพิ่มประสิทธิภาพโค้ดสามารถนำไปใช้ในระดับต่างๆ ของการสร้างวากยสัมพันธ์: 1 ). ที่ระดับโอเปอเรเตอร์ - คอมไพเลอร์ส่วนใหญ่ทำการเพิ่มประสิทธิภาพในระดับนี้ 2 ). ที่ระดับบล็อก - คอมไพเลอร์ที่ปรับให้เหมาะสมจะจัดสรรโครงสร้างการทำงานให้กับโปรแกรมโดยสร้างกราฟการไหลโดยตรงของโปรแกรม ซึ่งจุดยอดแต่ละจุดจะแทนบล็อกหลัก และจุดเชื่อมระหว่างจุดยอดจะแสดงถึงโฟลว์ควบคุม คอมไพเลอร์ส่วนใหญ่ทำการเพิ่มประสิทธิภาพที่ระดับบล็อก 3 ). ในระดับวงจร 4 ). ที่ระดับโปรแกรม - ระดับการปรับให้เหมาะสมที่ยากที่สุด

ยิ่งระดับการเพิ่มประสิทธิภาพสูงเท่าใด โอกาสในการเพิ่มความเร็วของโมดูลโปรแกรมก็ยิ่งมากขึ้นเท่านั้น อย่างไรก็ตาม ค่าใช้จ่ายในการปรับใช้ในระดับที่สูงขึ้นสามารถเพิ่มเวลาการรวบรวมได้อย่างมาก

42. การออกแบบโปรแกรม: ประเด็นหลัก

1) คำอธิบายของการนำไปใช้ (ภาษา, สภาพแวดล้อมการเขียนโปรแกรม, การทดสอบ, การดำเนินการที่ตั้งใจไว้):

ขนาดเป็นไบต์, การดำเนินการ, เส้น;

ขนาดของหน่วยความจำที่จำเป็นสำหรับข้อมูล

ทรัพยากรทางเทคนิคที่จำเป็น

2) การเข้าถึงรูทีนย่อย (หมายเลข ประเภท และลำดับของการถ่ายโอนพารามิเตอร์อินพุต): วิธีการถ่ายโอน (โดยการอ้างอิงหรือตามค่า)

3) คำอธิบายของพารามิเตอร์ที่ส่งคืน:

พารามิเตอร์ที่ส่งคืนโดยฟังก์ชันเอง

คำอธิบายของพารามิเตอร์อินพุตที่ฟังก์ชันแก้ไข

4) คำอธิบายสถานการณ์พิเศษและปฏิกิริยาของโปรแกรมต่อสถานการณ์เหล่านั้น

5) คำอธิบายข้อความโปรแกรม ถ้ามี

6) คำอธิบายสั้น ๆ ของอัลกอริทึม:

หากมีชื่อให้ระบุ

ตั้งชื่อแหล่งที่มาหรือตำแหน่งที่ได้รับข้อความของโปรแกรมซึ่งนำอัลกอริทึมมาจากไหน

คุณสามารถจัดทำบล็อกไดอะแกรม

8) อธิบายไฟล์อินพุตและเอาต์พุตทั้งหมดและสรุปเนื้อหาโดยย่อ

9) รายชื่อโครงสร้างบันทึกของไฟล์ทั้งหมด:

แบ่งตามฟิลด์บันทึก



กำลังโหลด...
สูงสุด