อนุทิน #106973

ย้ายไฟล์หกล้านไฟล์ใน S3 จาก Singapore ไป Virginia เสร็จไปแล้วสามล้านกว่าๆ ในเวลาสองวัน เขียนโปรแกรมแบบ multi-thread ช่วยลดเวลาได้เยอะเลย

ในกรณีนี้ลองผิดลองถูกดูปรากฎว่า multi-thread ทำงานได้เร็วกว่า multi-process ทั้งๆ ที่ Ruby ไม่ได้มี multithreading จริงๆ

แปลกเหมือนกัน เดาว่าเป็นเพราะงานมันตกอยู่กับ I/O เสียเยอะ ถ้า multi-process มันต้องเสียเวลา context switch แล้วเครื่องที่ใช้ก็มีแค่ core เดียวเท่านั้น

เขียน:

ความเห็น (0)