קצת שיעמום וקצת סקרנות הביאו אותי לעשות אופטימיזציה לאיזה סקריפט, וחשבתי לחלוק את מה שגיליתי... אז ככה:
* עיקר זמן הריצה מוקדש להרצה של תהליכים חיצוניים (ולא לפיענוח של הסקריפט, טיפול במשתנים או במחרוזות, יצירת קבצים, ניהול הפניות, או דברים אחרים שהייתי רגיל אליהם מ-C...). זה אומר ש:
- pipes זה דבר מאוד יקר.
- אם אתם מבצעים פעולות על מחרוזות, כדאי לשמור אותן בקבצים זמניים (שנוצרים עם tempfile) ולהעביר את שם הקובץ לפקודות במקום להשתמש ב-echo עם pipe. כדאי ליצור בתחילת הסקריפט קובץ זמני אחד או יותר ולהשתמש בו לאורך הסקריפט (על פני ליצור קובץ זמני כל פעם שצריך...).
* אם אתם לא כותבים לטרמינל בתדירות גבוהה (כזאת שגורמת לו "להתנדנד"), כתיבה של מחרוזות ארוכות מהירה יותר מכתיבה של מחרוזות קצרות (לא, זאת לא טעות... וזה מביא לשיפור משמעותי - 10 עד 30 אחוז).
אתם מוזמנים להוסיף...
|