Julia กับ JIT

เรื่องนี้เคยโพสไปแล้วนะครับ เกี่ยว Julia และ Just-in-time compilation (JIT) จริง ๆ ก็มี compiler หลายภาษาที่ใช้เทคนิคนี้ครับ แต่ว่าชอบ Julia ตรงมันดึงเอา native code (แต่แสดงเป็นภาษา assembly ) ให้ดูได้สะดวกดี

ผมอ่าน Wikipedia มา ได้ความว่าคนที่ตีพิมพ์เรื่อง JIT ในคนแรก ๆ ก็คือเจ้าเดิมครับ John McCarthy ที่เป็นคนสร้างภาษา Lisp ในงานนี้ แต่ก็ต่างกับตอนเยอะเหมือนกัน เขาว่าแบบที่ใส่ memory แบบเดี๋ยวนี้ภาษาแรก ๆ คือ Smalltalk 80

ที่ไม่ได้แสดงให้ดูคือ Julia เป็นภาษา dynamic ดังนั้น f(x) นี่ใส่ f(1.8) ก็ได้ ได้ทั้ง float ทั้ง integer สมมุติว่าเราใส่ @code_native(f(1.8)) มันก็จะ gen native code ออกมาอีกแบบสำหรับ float แล้วสมมุติว่า f ถูกเรียกซ้ำ ๆ มันก็จะทำงานได้ไวเหมือนกับว่า compile เอาไว้แต่แรก

Advertisements
This เรื่อง was posted in ไม่มีหมวดหมู่. Bookmark the permalink.

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s