מהירות , זיכרון וירקות

היי אני מודע לזה שאני כנראה מקדים את זמני בקשר לשיעורים העתידיים אבל עניין אותי
כמה קריטי השימוש בפעולה x או פעולה y בפייתון ועל מה זה משפיע למעט זיכרון מערכת
למה בכל פורום שאני מסתובב בו באינטרנט או באתרים שנתתם מדברים ממש על מהירות…פייתון נחשבת תוכנה איטית יותר ? ובנוסף במקום ממשק בהגדרות רשום מנשק ,משער שזה שגיאת הקלדה

לייק 1

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

קוריוז לגבי מנשק וממשק - “מנשק” זו ההגדרה התקנית בעברית למה שנקרא interface, במובן שהוא משיק בין דבר לדבר.

2 לייקים

מה הסיבה שהיא פחות יעילה?
ובקשר ליעילות/מהירות אני לא מדבר עכשיו, אני מדבר על עיסוק עתידי
כמו הנושא שים שאל בתחילת הקורס “מה אנחנו מתכננים לעשות עם היכולת שלנו”, אז אני חושב ששווה לבדוק עם ידע מקדים מה באמת “נכון” יותר לעשות
והאמת שלא ידעתי על מנשק , מעניין מאוד!

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

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

3 לייקים

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

כשמדברים על מהירות - מדברים על משך פעולה זהה בין שפות, כלומר כמה זמן (במיקרו-שניות, מיליונית השנייה) לוקח לבצע תרגיל חיבור, או תרגיל כפל או פעולות מסובכות כאלה. יש מבחני ביצועים רשמיים שמבצעים מדידה יותר מדויקת (נקראים benchmark) ועליהם לא ארחיב כעת, זה מושג המהירות.

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

2 לייקים