@dovid אמר בלהגדיר את levelUp db כserver נפרד שמקשיב לארוע, כיצד, והאם כדאי?:
fork עשוי למקרה שאתה רוצה שכלל האפליקציה ירוץ במקביל על כמה מעבדים, כל אחד באופן די עצמאי.
אפשר לתת שם לכל פורק ואז עם התניה (בדיקת שם התהליך) להכתיב פעולה שונה.
זה יותר נוח כי זה חוסך להריץ כמה קבצים בכל פעם (אן שאלמד bash אחת ולתמיד..).
@dovid אמר בלהגדיר את levelUp db כserver נפרד שמקשיב לארוע, כיצד, והאם כדאי?:
במקרה שלך אני מתרדם שיש כמה חלקים באפליקציה לא מבוזרים (הDB והמאגרים על הזיכרון) ולכן מתאים יותר שדוקא פיסות הקוד שלוקחות זמן יישלחו לעיבוד מקבילי, והתוצאה חוזרת לך כאירוע.
אני חושב שבמקרה שלי, החישובים הוא הפעולה הראשית ויהיה מורכב ומלוכלך לחלק אתם לתהליכים משניים
מה גם שמבדיקות שעשיתי, אין לי cpubloking רציני, פונקציות שהחשבתי למורכבות לוקחות כ-1ms
אבל גליתי משהו מעניין
שאם הרצת ה-db "קר", הוא תוקע את ה-cpu
כלומר החיפושים הראשונים איטיים עד שהוא "מתחמם" (תופס יותר cpu נראה לי), ואז הוא עובד מהר
היו לא מעט מקרים שהרצתי סידרת חיפושים ב-db
והפונקציה שרצה אחרי (אחרי שמתקבלות כל התשובות, לא הקול-בק שמפעיל הdb עם התשובה) מתעכבת לעיתים 100ms, שזה רוב רובו של זמן הרצת האפליקציה!
לפי זה דוד צודק שיעזור להוציא את ה-db להרצה נפרדת (את התקשורת אני מבצע באמצעות socket), זה אמור לחתוך את הזמן לרבע.
בבדיקה. אעדכן בל"נ.