הקורס יספק סקירה מעמיקה של אסטרטגיות למיטוב ביצועים של מערכות תוכנה. הסטודנטים ילמדו כיצד לבצע אנליזה של ביצועי מערכת תוכנה, לשפר ביצועי תוכנה וניצולת תוך שימוש יעיל בחומרה. הקורס יכסה מגוון נושאים כדוגמת שימוש יעיל בזיכרון מטמון, טכניקות תכנות בסיסיות והידור לשיפור ביצועים, מדידת ביצועים ודגימת אירועים, וכן תכנות למיטוב ביצועי קלט/פלט.
תוצאות למידה:בסיום הקורס הסטודנטיות והסטודנטים יהיו מסוגלים:
- לבצע אנליזה שיטתית של ביצועי מערכות תוכנה.
- להכיר שיטות שונות לשיפור ביצועי מערכות תוכנה.
- להכיר מודלים נפוצים לקלט/פלט ומקביליות.
- להגדיר קונפיגרציות מערכות תוכנה לשיפור ביצועים.
The course will provide an in-depth overview of strategies for optimizing the performance of software systems. Students will learn how to perform an analysis of software system performance, improve software performance and efficiency, and make effective use of hardware. The course will cover a range of topics such as efficient use of cache memory, fundamental programming techniques and compilation for performance improvement, performance measurement, and event tracing, as well as programming for optimizing input/output performance.
Learning Outcomes:At the end of the course, students will be able to:
- Perform systematic analysis of software system performance.
- Be familiar with various methods for improving software system performance.
- Be familiar with common I/O and concurrency models.
- Configure software system settings for performance improvement.