ในแง่ของการออกแบบภาษาไม่มีอะไรที่จะทำให้ Go ช้าไปกว่า Java โดยทั่วไป ที่จริงแล้วมันช่วยให้คุณสามารถควบคุมเลย์เอาต์หน่วยความจำของโครงสร้างข้อมูลของคุณได้มากขึ้นดังนั้นสำหรับงานทั่วไปจำนวนมากมันควรจะค่อนข้างเร็วกว่า อย่างไรก็ตามคอมไพเลอร์ Go หลักปัจจุบันตัวกำหนดเวลาตัวรวบรวมขยะไลบรารี regexp และสิ่งอื่น ๆ อีกมากมายที่ไม่ได้รับการปรับให้เหมาะสมเป็นพิเศษ นี่คือการปรับปรุงอย่างต่อเนื่อง แต่มุ่งเน้นไปที่การเป็นประโยชน์เรียบง่ายและเร็วพอที่จะชนะได้ใน microbenchmarks
ในเบนช์มาร์กที่เชื่อมโยง Go จะสูญเสียข้อมูลขนาดใหญ่ไปยัง Java บนต้นไม้ไบนารีและการทดสอบ regexp สิ่งเหล่านี้เป็นการทดสอบระบบการจัดการหน่วยความจำและไลบรารี regexp ตามลำดับ การจัดการหน่วยความจำของ Go อาจเร็วขึ้นและแน่นอนว่าจะดีขึ้นเมื่อเวลาผ่านไปและไลบรารี regexp มาตรฐานปัจจุบันเป็นตัวยึดตำแหน่งสำหรับการใช้งานที่ดีขึ้นอย่างรวดเร็ว ดังนั้นการสูญเสียสองสิ่งนี้ไม่น่าแปลกใจและในอนาคตอันใกล้นี้อัตรากำไรขั้นต้นควรแคบลง
สำหรับเกณฑ์มาตรฐาน k-nucleotide มันค่อนข้างยากที่จะเปรียบเทียบเพราะโค้ด Java ดูเหมือนว่าจะใช้อัลกอริทึมที่แตกต่างกัน รหัส Go จะได้รับประโยชน์อย่างแน่นอนจากผู้รวบรวม, ตัวกำหนดตารางเวลาและการปรับปรุงตัวจัดสรรที่จะเกิดขึ้นแม้จะเป็นลายลักษณ์อักษร แต่บางคนจะต้องเขียนรหัส Go อีกครั้งเพื่อทำสิ่งที่ฉลาดกว่านี้หากเราต้องการเปรียบเทียบที่แม่นยำยิ่งขึ้น
Java เป็นผู้ชนะในเกณฑ์มาตรฐานของแมนเดลบอตเนื่องจากเป็นเลขคณิตและการวนซ้ำทั้งหมดและนี่เป็นสถานที่ที่ยอดเยี่ยมสำหรับ JVM ในการสร้างรหัสเครื่องที่ดีมาก ไปเปรียบเทียบมีคอมไพเลอร์เรียบง่ายที่ไม่ยก, คลี่คลายหรือสร้างรหัสเครื่องแน่นจริงๆในปัจจุบันดังนั้นจึงไม่น่าแปลกใจที่จะสูญเสีย อย่างไรก็ตามหนึ่งควรจำไว้ว่าเวลา Java ไม่นับเวลาเริ่มต้น JVM หรือหลายครั้งที่จะต้องเรียกใช้สำหรับ JVM เพื่อ JIT มันอย่างดี สำหรับโปรแกรมที่ใช้เวลานานสิ่งนี้ไม่เกี่ยวข้อง แต่มีความสำคัญในบางกรณี
สำหรับส่วนที่เหลือของเกณฑ์มาตรฐาน Java และ Go นั้นเป็นแบบคอในคอโดยที่ Go จะใช้หน่วยความจำน้อยลงอย่างมากและในกรณีส่วนใหญ่โค้ดก็จะน้อยลง ดังนั้นแม้ว่า Go จะช้ากว่า Java ในการทดสอบจำนวนหนึ่ง แต่ Java นั้นค่อนข้างเร็ว แต่ Go ก็ทำได้ค่อนข้างดีเมื่อเปรียบเทียบกันและ Go ก็อาจจะเร็วขึ้นอย่างเห็นได้ชัดในอนาคตอันใกล้
ฉันรอคอยเมื่อ gccgo (คอมไพเลอร์ Go ที่ใช้ codegen gcc) เป็นผู้ใหญ่ ที่ควรทำให้ Go ค่อนข้างสอดคล้องกับ C สำหรับโค้ดหลายประเภทซึ่งน่าสนใจ