מה מאפשר הקטנה משמעותית בכמות בזבוז המשאבים?
ערמות גדולות מהדרוש ו-context switching
כפי שניתן לראות, Go מצליחה להשיג את הטוב שבשני העולמות. היא מאפשרת עבודה במודל הדומה להקצאת תהליכון לכל בקשה, אך מאפשרת גדילה משמעותית בכמות הבקשות המטופלות, וזאת תוך מינימום בזבוז משאבים בגלל ערמות גדולות מהדרוש ו-context switching. היא מונעת חסימה של המעבד על-ידי מטלות עיבוד כבדות, משתמשת בכל ליבות המעבד הזמינות, ומפשטת מאד את מודל התכנות, כך שיהיה פשוט וקל ללמידה. ניתן לצפות בחלק מתהליך הלמידה שלנו, במפגש בו נידונה השאלה האם Go היא שפת תכנות מכוונת עצמים. לאחר ש-Go החליפה את Node.js בשירות מיקום הנהגים, הצלחנו להשיג זמן תגובה ממוצע של 2 מילישניות בלבד בעת טיפול ביותר מ-200 אלף בקשות לדקה. זה בהחלט מסביר את ההחלטה שלנו לעבור ל-Go כשפת התכנות העיקרית שלנו בכל הפיתוחים העתידיים.
הקטנה משמעותית בכמות בזבוז המשאבים מאופשרת על ידי צמצום ערמות גדולות מהדרוש וצמצום context switching.