จากการเปรียบเทียบ performance ของภาษาโปรแกรมต่าง ๆ ในสมาคม programmer
ด้วย Prime number ซึ่งใช้งาน algorithm ที่ชื่อว่า The sieve of Eratosthenes
ก็เลยลองไปดู code นิดหน่อย
เนื่องด้วยไม่ค่อยได้เขียนภาษาต่าง ๆ มากนัก
เลยหยิบมาพวกภาษา Go และ Java มาดูหน่อย ว่าเขียนอย่างไร ?

เริ่มด้วยภาษา Go พบว่าทำงานช้า เช่น

  • การ allocate slide ซึ่งไม่ทำการ preallocate ทำให้ช้า
  • ตามธรรมาชาติของ go สามารถทำพวก go routine และ go channel ได้
  • มีการเขียน file สำหรับการบันทึกผล

ดังนั้นลองเปลี่ยน code นิดหน่อย ทำเพียงเอาการบันทึกผลลงไฟล์ออกไป ได้ประมาณนี้

ส่วน Java นั้นที่ผลการทำงานเร็วมาก ก็เลยเอาส่วนของบันทึกผลออกไป
กับเปลี่ยนการ initial ข้อมูลใน array ของ boolean ให้เป็น true ทั้งหมดนิดหน่อย
ได้ผลการทำงานดังนี้

ในส่วนของ C# ก็เอาส่วนบันทึกผลลงไฟล์ไปเช่นกัน
กับเปลี่ยนการ initial ข้อมูลใน array ของ boolean ให้เป็น true ทั้งหมดนิดหน่อย
ได้ผลการทำงานดังนี้

ต้องดูว่า เราจะเอาการบันทึกผลลงไฟล์มาวัดกันหรือเปล่า เท่านั้นเอง
ว่าง ๆ เลยลองปรับปรุง code ดูนิดหน่อย สนุกดีนะครับ