זה כיף כשהמודל עובד

אתמול היה יום דיי משעשע בעבודה.

הייתי אצל לקוח שמנסה להעביר מערכת דיי מסובכת שנכתבה כשירות לחלונות, כך שתעבוד על לינוקס. במקום להתחיל לכתוב את כל המערכת מחדש, אנחנו משתמשים ב-Wine.

למרבה ההפתעה, כמות הבעיות שהתגלו עד כה קטנה באופן משמעותי מין הצפוי. בנתיים, כל פעם שהמערכת לא התנהגה נכון על לינוקס, התגלה שמדובר בבאג שמסיבה זו או אחרת לא צץ על חלונות, אבל כן קיים גם שם. היו לנו בעיות ביצועים עם חלק מרכיבי הסינכרון, ועקפנו את הבעיות ע”י מימוש חלקים נבחרים מהתוכנה מקומית בלינוקס במקום בפונקציות של חלונות. עדיין, בסך הכל, המערכת מתפקדת ממש טוב.

אתמול התבקשתי למצוא מדוע המערכת קופאת לחלוטין מידי פעם. עלינו על תופעה מאוד מוזרה – גם כשהמערכת לחלוטין לא פעילה, רכיב מסויים של Wine תופס 60% מה-CPU. משהו שם לא יעיל.

בדיקה יותר מעמיקה של מקור הבעיה הראתה ש-Wine משתמש בפונקציה בשם “poll” כדי לבדוק אם הוא צריך לעשות משהו כרגע. בקרנלים חדשים של לינוקס יש תחליף יעיל יותר שנקרא “epoll”. סיכמנו עם הלקוח שנכניס תמיכה ב-epoll ל-Wine.

וכאן אפילו אני עומד משתאה מול המודל של תוכנה חופשית. כשזה עובד, זה פשוט מדהים. נוצר פה מצב שבו כולם מרוויחים:
1. הלקוח שלי – זכה במערכת שחסכה לו מספר חודשי עבודה (אם לא יותר), כמעט לחלוטין בחינם (הוא כן צריך לשלם על הזמן שלי, אבל העלות הזו זניחה לעומת כמות הזמן שהיה צריך להשקיע אם לא היה לו את Wine)‏.
2. פרוייקט Wine – מקבל תוספת ביצועים חשובה
3. אני (ולינגנו) – מתפרנסים מכל הסיפור בכבוד. מצד אחד – הכסף שאנחנו גובים רק חוסך כסף ללקוח, ומצד שני יש פה הרגשה טובה של לעשות למען אחרים.

מסתבר שאני לא מספיק זמן עושה את זה, אם אני עדיין נהנה לראות את המודל שכולנו תמיד מדברים עליו ממש ממש עובד בשטח

שחר

מאת

שחר שמש

מייסד–שותף וחבר ועד בתנועה לזכויות דיגיטליות מייסד שותף בעמותת „המקור”. פעיל קוד פתוח. מפתח שפת התכנות Practical

One thought on “זה כיף כשהמודל עובד”

  1. ממש מזכיר לי את הימים ההם בהם אני הייתי בצבא והייתי צריכה להתעסק עם כל מיני באגים ביזארים.. היה מקרה שאני זוכרת שהוא לשנות שעון מחורף לקיץ. שינינו את זה בשרתים אבל בתחנות ההפעלה שעבדו על 2000 השעה לא שונתה. אתה אומר בטח, אז מה, אז זהו, שלא, הם לא הצליחו להיכנס לרשת.. עלינו על זה במקרה.. הסתכלתי באחד המחשבים, קלטתי שהשהע לא נכונה ושיניתי, סתם, ואז הוא ניכנס לרשת.. טוב. שיעממתי אותך..

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

Bear