הגרסה החדשה 9.1 של המהדר GCC כבר שוחררה

gcc-compiler-9.1

גרסה חדשה זו של מהדר GCC הועמד לרשותו לפני כמה ימים עם תכונות ותיקוני באגים חדשים.

על פי צוות הפרויקט של GNU GCC, גרסה חדשה זו, גרסה 9.1 היא גרסת מהדר מרכזית מכיל תכונות חדשות חשובות שאינן זמינות בגרסאות GCC 8.x או גרסאות קודמות. GCC 9.1 אמור להביא תכונות שפה חדשות, אופטימיזציות חדשות וכמה שיפורי ביצועים בתוכנה.

אודות GCC

GCC הוא אוסף מהדרים נוצר על ידי פרויקט GNU. זוהי יותר תוכנה חינמית המסוגל להרכיב שפות תכנות שונות, כולל C, C ++, Objective-C, Java, Ada ו- Fortran.

יש לציין גם כי משמש לפיתוח תוכנות חינמיות ביותר. המהדורה הגדולה האחרונה של המהדר מתחילה במאי 2018, גרסה 8.1.

Jakub Jelinek, מפתח Red Hat, הסביר כי GCC 8.1 מייצג מהדורה גדולה שמביאה תכונות חדשות חשובות שאינן זמינות ב- GCC 7.x ובגירסאות קודמות של GCC.

בשלב זה, חזית C ++ סיפקה תמיכה ניסיונית לכמה פונקציות C ++ 2a עם האפשרויות -std = c ++ 2a ו- -std = gnu ++ 2a.

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

התיקונים נמשכו בסניף 8.x עם שחרור גרסת המהדר 8.3 בפברואר האחרון. מהדורה זו הייתה מהדורת תיקון באגים שהכילה תיקוני רגרסיות ב- GCC 8.2 לעומת גרסאות קודמות של GCC. צוות GCC השיק סניף חדש ב -3 במאי, ושחרר את גרסה 9.

מה חדש ב- GCC 9.1?

בגרסה זו, תמיכה ב- C ++ 17 שהוצגה מאז גרסת המהדר 8.1 אינה מנוסה עודl. לכן, התמיכה ב- C ++ 17 יציבה כעת.

הממשק של C ++ מיישם את כל השפה של C ++ 17 והתמיכה בספרייה הסטנדרטית C ++ קרובה לסיומה.

El לספריה חזיתית ו- C ++ יש גם תכונות רבות אחרות המקודדות מ- C ++ 2a. כמו כן, ל- GCC יש ממשק חדש לשפת D וכעת הוא תומך באופן חלקי ב- OpenMP 5.0 ומשלב כמעט באופן מלא תמיכה ב- OpenACC 2.5.

עבור רבים, GCC 9 הוא גרסה חזקה של המהדר המספק תכונות ושיפורים נהדרים לשיפור ביצועי המפתחים.

בין התכונות החדשות הרבות ב- GCC 9.1 ניתן למנות:

  • תמיכה בתמיכה בהרכבת קוד שנכתב בשפת התכנות D;
  • תוכנה אחורית חדשה של AMD GCN GPU נוספה ל- GCC. היישום מוגבל כרגע להרכבת תוכניות שרשור בודד.
  • LRA מופעל כעת כברירת מחדל עבור יעד ה- ARC. זה יכול להיות נשלט על ידי -mlra.
  • הוסיף תמיכה בקוד תמונה והצהרות צפיפות ענף ואינדקס.
  • ל- GCC נוספה תוספת של מעבדי C-SKY V2 המכוונים למערכת אחורית חדשה.
  • התמיכה של אינטל MPX הוסרה.
  • תוספת חדשה נוספה לתמיכה במעבדי OpenRISC.
  • התמיכה במפרט OpenACC 2.5 כמעט הושלמה.
  • החבילה הפנימית "selftest" של GCC עובדת כעת עבור C ++ ו- C (בגרסאות ניפוי באגים של המהדר).
  • תמיכת Fortran ב- GCC שופרה גם כן. כעת הוא מטפל בקלט / פלט אסינכרוני ובתכונות אחרות.
  • אופטימיזציות בין-פרוצדורות (OPI), אופטימיזציות מבוססות פרופיל, אופטימיזציות לזמן קישור (LTO), כמו גם אופטימיזציות רבות אחרות כדי להבטיח איכות קוד טובה יותר.
  • זמן הבנייה הכולל של Firefox 66 ו- LibreOffice 6.2.3 במכונה עם 8 ליבות צומצם בכ -5% בהשוואה ל- GCC 8.3. גודל קבצי האובייקט LTO מצטמצם ב -7%.
  • זמן הקישור ל- LTO משתפר ב -11% ב -8 מכונות ליבה ומתפתח בצורה דרמטית לסביבות בנייה מקבילות יותר. השלב הסדרתי של אופטימיזציה של זמן הקישור מהיר ב -28% וצורך 20% פחות זיכרון. שלב מקביל מחיצה כעת 128 מחיצות במקום 32 ומפחיתה את השימוש בזיכרון עבור כל משתמש ב -30%.
  • הוצגה אפשרות חדשה "-fdiagnostics-format = json" לאבחון בפורמט קריא למכונה.

מקור: https://gcc.gnu.org