AMp เขียนครับ
ใน ruby มีออปชันให้เราสามารถดู profile ของโปรแกรม .rb ของเราได้ว่า มี call อะไรเกิดขึ้นบ้าง แต่ละ call กินเวลาเท่าไหร่ ซึ่งเหมาะมาก สำหรับผู้ที่ต้องการเช็ค performance ของโปรแกรมที่เราเขียนขึ้น
ruby -r profile myprogram.rb
พิมพ์แบบนี้ ใส่ชื่อไฟล์และพาธของโปรแกรมเราให้ถูก แล้วรันโลด
แต่ถ้าใครขี้เกียจพิมพ์ SciTE ช่วยคุณไ้ด้ (SciTE มันอ่านว่าไรอะ ผมอ่านว่า ไซ-ตี้) ให้เปิด .rb ของเราด้วย SciTE แล้วไปที่เมนู Tools > Code Profiler ก็จะมีผลเหมือนกับเราพิมพ์คำสั่งเมื่อกี้นั่นแหละ
สมมุติว่า ผมสั่งวนลูปละกัน
10000.times do print 1 end |
เสร็จแล้ว ดู profiler ก็จะเห็นประมาณนี้

คอลัมน์แรก จะเป็น % ของเวลาที่ใช้ cumulative เป็นเวลาสะสม self seconds เป็นเวลา ที่ใช้ไปในการ call ครั้งนั้นๆ calls เป็นจำนวนครั้งในการเรียก self ms/call เป็นระยะเวลาในการเีรียก 1 ครั้ง หน่วยเป็น milli-second (จะละเอียดกว่า) total ms/call น่าจะเป็นเวลาเรียกที่ใช้จริงในการ call อาจจะรวมเรื่อง overhead ต่างๆ ด้วย (อันนี้ไม่แน่ใจเหมือนกันครับ) name ก็ชื่อที่เรียก
ก็ สะดวกดีครับ ไม่ต้องมานั่งจับเวลาเอง ซึ่งก็คงไม่ละเอียดเท่า ruby จับให้