Acovea

ภาพหน้าจอของซอฟแวร์:
Acovea
รายละเอียดซอฟแวร์:
รุ่น: 1.0.1
วันที่อัพโหลด: 3 Jun 15
ผู้พัฒนา: Scott Robert Ladd
การอนุญาต: ฟรี
ความนิยม: 76

Rating: 3.0/5 (Total Votes: 2)

Acovea ดำเนินการขั้นตอนวิธีพันธุกรรมสำหรับการหา "ดีที่สุด" ตัวเลือกสำหรับการรวบรวมโปรแกรมกับ GCC C และ C ++ คอมไพเลอร์
ACOVEA (การวิเคราะห์ตัวเลือกคอมไพเลอร์ผ่านทางวิวัฒนาการขั้นตอนวิธี) ดำเนินการขั้นตอนวิธีพันธุกรรมเพื่อหาสิ่งที่ "ดีที่สุด" ตัวเลือกสำหรับการรวบรวมโปรแกรมกับ GNU เก็บสะสม (GCC) C และ C ++ คอมไพเลอร์
"ที่ดีที่สุด" ในบริบทนี้ถูกกำหนดให้เป็นตัวเลือกที่ผลิตโปรแกรมปฏิบัติการที่เร็วที่สุดจากแหล่งรหัสที่กำหนด Acovea เป็น C ++ กรอบที่สามารถขยายได้ในการทดสอบการเขียนโปรแกรมภาษาอื่น ๆ และคอมไพเลอร์ที่ไม่ GCC
ฉันมองเห็น Acovea เป็นเครื่องมือเพิ่มประสิทธิภาพที่คล้ายกันในจุดประสงค์ที่จะโปรไฟล์ โปรไฟล์ฟังก์ชั่นระดับแผนระบุขั้นตอนวิธีการที่มีอิทธิพลมากที่สุดในการทำงานของโปรแกรม; Acovea ถูกนำไปใช้แล้วขั้นตอนวิธีการเหล่านั้นเพื่อหาธงคอมไพเลอร์และตัวเลือกที่สร้างรหัสที่เร็วที่สุด
Acovea ยังเป็นประโยชน์สำหรับการทดสอบการรวมกันของธงสำหรับการติดต่อในแง่ร้ายและสำหรับการทดสอบความน่าเชื่อถือของคอมไพเลอร์
ซอฟต์แวร์ที่ทันสมัย​​เป็นเรื่องยากที่จะเข้าใจและตรวจสอบโดยวิธีการแบบดั้งเดิม ล้านเส้นของการใช้งานที่มีการผลิตรหัสปฏิสัมพันธ์ที่ซับซ้อนท้าทายคำอธิบายง่ายหรือการตรวจสอบแรงเดรัจฉาน
แนะนำวิธีการที่กำหนดในการทดสอบต้องอาศัยการทดสอบของมนุษย์ที่จะมองเห็นทุกชุดที่เป็นไปได้ของการดำเนินการ - เป็นเรื่องที่ไม่สมจริงได้รับความซับซ้อนของซอฟแวร์ แต่แม้จะมีความซับซ้อนที่เราต้องตอบคำถามสำคัญเกี่ยวกับที่ทันสมัย​​, ซอฟแวร์ขนาดใหญ่
สิ่งที่จัดเรียงของคำถามที่สำคัญหรือไม่ พิจารณาการเก็บ GNU คอมไพเลอร์ ผมเขียนบทความที่สร้างรหัสมาตรฐานเป็นงานที่เต็มไปด้วยความยากลำบากเนื่องจากตัวเลือกมากมายที่มีให้โดยคอมไ​​พเลอร์ที่แตกต่างกัน สำหรับมาตรฐานของฉันจะมีความหมายใด ๆ ที่ฉันต้องการที่จะทราบว่าการรวมกันของตัวเลือกผลิตรหัสที่เร็วที่สุดสำหรับการใช้งานที่กำหนด
หา "ดีที่สุด" ชุดของตัวเลือกเสียงเหมือนเป็นงานที่ง่ายให้ขอบเขตของเอกสาร GCC และภูมิปัญญาดั้งเดิมของชุมชนนักพัฒนา GCC อาว่ามันเป็นเพียงเรื่องง่ายมาก! เอกสาร GCC ขณะที่กว้างขวางก็ยังไม่แน่ชัดตรงไปตรงมา
ฉันขอขอบคุณที่รูปแบบของเอกสารนี้ ซึ่งแตกต่างจากผู้ผลิตในเชิงพาณิชย์จำนวนมากที่ทำให้งบแน่นอนเกี่ยวกับ "คุณภาพ" ของผลิตภัณฑ์ของพวกเขา documenters GCC ยอมรับของความไม่แน่นอนในวิธีการที่ตัวเลือกต่างๆเปลี่ยนรหัสรุ่น อันที่จริงการสร้างรหัสทั้งหมดขึ้นอยู่กับประเภทของโปรแกรมที่ถูกรวบรวมและแพลตฟอร์มเป้าหมาย ตัวเลือกที่ผลิตรหัสปฏิบัติการได้อย่างรวดเร็วสำหรับรหัสแหล่งที่มาอย่างใดอย่างหนึ่งอาจจะเป็นอันตรายต่อประสิทธิภาพการทำงานของโปรแกรมอื่น
"ภูมิปัญญาดั้งเดิม" มาถึงในกล่องจดหมายของฉันเมื่อใดก็ตามที่ฉันเผยแพร่บทความใหม่ ตั้งแต่สุภาพที่จะยืนหยัดเพื่อหยาบคาย, อีเมลนี้มีข้อเสนอแนะที่ขัดแย้งในการผลิตรหัสได้อย่างรวดเร็ว
ในส่วนใหญ่ของกรณีดังกล่าวยืนยันประวัติขาดหลักฐานอย่างเป็นทางการของความถูกต้องของพวกเขาและบ่อยกว่าไม่แนะนำ "การปรับปรุง" ไม่ได้ผลหรืออันตราย มันได้กลายเป็นที่เห็นได้ชัดมากขึ้นว่าไม่มีใคร --myself รวม - รู้แน่ชัดว่าตัวเลือกทั้งหมดเหล่านี้ GCC ทำงานร่วมกันในการสร้างรหัสโปรแกรม
ฉันขอจอกศักดิ์สิทธิ์ของการเพิ่มประสิทธิภาพ - แต่สิ่งที่คือการเพิ่มประสิทธิภาพ? ทำความเข้าใจเกี่ยวกับปัญหาที่เกิดขึ้นเป็นขั้นตอนแรกในการหาวิธีการแก้ปัญหา
การเพิ่มประสิทธิภาพการผลิตพยายามที่จะ "ดีที่สุด" รหัสเครื่องจากรหัสแหล่งที่มา "ที่ดีที่สุด" หมายถึงสิ่งที่แตกต่างกันเพื่อการใช้งานที่แตกต่างกัน ฐานข้อมูลชิ้นพลั่วของข้อมูลในขณะที่การประยุกต์ใช้วิทยาศาสตร์เป็นเรื่องที่เกี่ยวข้องกับผลได้อย่างรวดเร็วและถูกต้อง ความกังวลครั้งแรกสำหรับระบบฝังตัวอาจมีขนาดรหัส
และมันค่อนข้างเป็นไปได้ว่าโค้ดขนาดเล็กเป็นไปอย่างรวดเร็วหรือรหัสที่ถูกต้องได้อย่างรวดเร็ว การเพิ่มประสิทธิภาพอยู่ไกลจากการเป็นวิทยาศาสตร์ที่แน่นอนให้ความหลากหลายของฮาร์ดแวร์และการกำหนดค่าซอฟต์แวร์
ขั้นตอนวิธีการเพิ่มประสิทธิภาพอาจจะเป็นง่ายๆเป็นลบห่วงคงที่หรือซับซ้อนเท่าที่ตรวจสอบโปรแกรมทั้งหมดที่จะกำจัดการแสดงออกย่อยร่วมกันทั่วโลก การเพิ่มประสิทธิภาพหลายเปลี่ยนสิ่งที่โปรแกรมเมอร์เขียนในรูปแบบที่มีประสิทธิภาพมากขึ้นที่ให้ผลเดียวกันในขณะที่การเปลี่ยนแปลงรายละเอียดพื้นฐานให้มีประสิทธิภาพ; อื่น ๆ "การเพิ่มประสิทธิภาพ" รหัสการผลิตที่ใช้ลักษณะเฉพาะของฮาร์ดแวร์พื้นฐานเช่นชุดคำสั่งพิเศษ
สถาปัตยกรรมหน่วยความจำ, ท่อในและแคชออกชิป - ส่งผลกระทบต่อประสิทธิภาพการทำงานของทุกรหัสในรูปแบบที่ไม่ชัดเจนในการเขียนโปรแกรมโดยใช้ภาษาระดับสูง การเพิ่มประสิทธิภาพที่อาจดูเหมือนการผลิตรหัสได้เร็วขึ้นอาจในความเป็นจริงสร้างรหัสที่มีขนาดใหญ่มากขึ้นที่ทำให้คิดถึงแคชประสิทธิภาพจึงย่อยสลาย
แม้รหัส C มือปรับที่ดีที่สุดมีพื้นที่ของการตีความ ไม่มีแน่นอนแบบหนึ่งต่อหนึ่งการติดต่อระหว่างงบ C และคำแนะนำเครื่อง เกือบลำดับของรหัสใด ๆ ที่สามารถเรียบเรียงที่แตกต่างกัน - แต่หน้าที่เทียบเท่า - การเรียนการสอนเครื่องลำธารที่มีขนาดแตกต่างกันและลักษณะการทำงาน
ฟังก์ชั่น inlining เป็นตัวอย่างที่คลาสสิกของปรากฏการณ์นี้: เปลี่ยนการเรียกร้องให้ฟังก์ชั่นที่มีรหัสฟังก์ชั่นของตัวเองอาจผลิตโปรแกรมได้เร็วขึ้น แต่ยังสามารถเพิ่มขนาดของโปรแกรม ขนาดโปรแกรมที่เพิ่มขึ้นอาจหันป้องกันจากอัลกอริทึมที่เหมาะสมภายในหน่วยความจำแคชความเร็วสูงจึงชะลอโครงการเนื่องจากคิดถึงแคช
ขอให้สังเกตการใช้งานของฉันของคำพังพอน "​​อาจจะ" - ฟังก์ชั่นขนาดเล็ก inlining บางครั้งจะช่วยให้การเพิ่มประสิทธิภาพขั้นตอนวิธีการอื่น ๆ มีโอกาสที่จะปรับปรุงสำหรับสภาพท้องถิ่น, การผลิตได้เร็วขึ้นและรหัสที่มีขนาดเล็ก
การเพิ่มประสิทธิภาพไม่ได้ง่ายหรือที่เห็นได้ชัดและการรวมกันของขั้นตอนวิธีการที่สามารถนำไปสู่​​ผลลัพธ์ที่ไม่คาดคิด ที่นำฉันกลับไปที่คำถาม: สำหรับโปรแกรมใด ๆ ก็ตามสิ่งที่เป็นตัวเลือกที่มีประสิทธิภาพในการเพิ่มประสิทธิภาพมากที่สุด?
มีอะไรใหม่ในรุ่นนี้:
·การเปลี่ยนแปลงเล็กน้อยในใบอนุญาตที่ไม่ฟรี
·สนับสนุนได้รับการเพิ่มสำหรับรุ่นล่าสุดของ libcoyotl และ libevocosm.

ซอฟต์แวร์ที่คล้ายกัน

codemetre
codemetre

11 May 15

noselog
noselog

20 Feb 15

ParamUnittest
ParamUnittest

20 Feb 15

ซอฟแวร์อื่น ๆ ของนักพัฒนา Scott Robert Ladd

Acovea/GTK
Acovea/GTK

3 Jun 15

ความคิดเห็นที่ Acovea

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!
ค้นหาตามหมวดหมู่