.NET 9.0 כבר שוחרר ומגיע עם שיפורי ביצועים, תמיכה ועוד

9.0

מיקרוסופט הודיעה על שחרור הגרסה החדשה של ".NET 9" פלטפורמה פתוחה המאחדת מוצרים נפרדים בעבר כמו .NET Framework, .NET Core ומונו. NET 9.0 מציגה שורה של שיפורים בביצועים, אופטימיזציה של מהדר, שיפורים בזמן ריצה, בין היתר.

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

בנוסף, היו אופטימיזציות במהדר JIT, עם שילוב של חדש אופטימיזציות מבוססות פרופיל (PGO), שיפורים בטיפול בלולאה ו-inline unrolling, ואופטימיזציה בטיפול בחריגים שמגדילה את המהירות ב-50%. קוד עם מפעילי Cast ראה שיפורים בביצועים של עד 70% ובוצעו שיפורים גם בביצועי שאילתות LINQ, במיוחד בשיטות Take ו-DefaultIfEmpty כאשר עובדים עם מערכים ואוספים ריקים, והושגו שיפורים של עד פי 10 בחלקם מקרים.

כ ספריית System.Text.Json, שופרה משמעותית ביצועים ויעילות. השיטה JsonProperty.WriteTo מסוגל כעת לכתוב מחרוזות UTF8 ישירות, ביטול הקצאת זיכרון מיותרת, וכתוצאה מכך שיפור של 15% בביצועים והפחתה של 93% בצריכת הזיכרון במבחני השוואת ביצועים עם .NET 8.

El Runtime מציגה גם מודל תכונות חדש מאפשר להפעיל ולבטל פונקציות בספריות בצורה יעילה יותר. בשפה C# 13, היכולות של שינוי ה-"params" הורחבו, מאפשר לא רק שימוש במערכים, אלא גם באוספים.

אופרטור "^" הוצג גם כדי לציין אינדקסים מקצה מערך, מה שהופך את המניפולציה של המערך לקלה יותר. בנוסף, איטרטורים ושיטות אסינכרוניות שיכולות להשתמש בביטויים ref ובלתי בטוחים מותרים. לבסוף, סוג חדש של מנעול הוצע כדי לשפר את הטיפול ביישומים מרובי הליכי.

הגרסא F# 9 יש תמיכה עבור סוגים nullable, מה שמרחיב את יכולות השפה. מִלְבַד, איגודי עובדים מיישמים כעת מאפייני ".Is*". נוצר באופן אוטומטי, מה שמקל לבדוק אם ערך שייך לקבוצה מסוימת. לדוגמה, עם הצטרפות, אתה יכול לבדוק ערכים כמו person.contact.IsEmail.

ב הנחיות שמתחילות בסמל # מותרות כעת לערכים מלבד מחרוזות. כמו כן, נוספה היכולת לבחור באופן אקראי או לערבב אלמנטים במודולים כגון List, Array ו-Seq. גם פעולות האיסוף שופרו, מה שמאפשר עבודה קלה יותר עם רשימות וסטים.

מצד שני, המחסנית .NET Aspire מציעה כעת קבוצה חזקה יותר של רכיבים ליצירת אפליקציות בסביבות ענן. זֶה כולל יכולות חדשות לניהול מחזור החיים של יישומים ומשאבים, בתוספת שיפורים לכלי איסוף טלמטריה.

במונחים של C#, הוצעה קבוצה של הפשטות חדשות להקל על הפיתוח של יישומי בינה מלאכותית. ההפשטות האלה כוללים שימוש במודלים גדולים של שפה, גישה לחנויות וקטוריות ואינטראקציות עם שירותי AI.

גַם סוג חדש של Tensor הוצג ושיטות לחישוב ולטפל בנתונים רב מימדיים, יחד עם תוספים. עדכון ML.NET כולל גם שיפורים, עם ספריית Microsoft.ML.Tokenizers החדשה לקידוד ופענוח טקסט לאסימונים.

לפיתוח אתרים, ASP.NET Core שיפרה תמיכת קומפילציה, המציע א ביצועים טובים יותר, צריכת זיכרון נמוכה יותר וזמני הפעלה מהירים יותר. העבודה עם קבצים סטטיים עברה גם אופטימיזציה, בנוסף לכלול API חדש לאימות והרשאה. Blazor, הפלטפורמה ליצירת אפליקציות אינטרנט עם C#, השיקה תבניות חדשות הן ליישומי אינטרנט והן לאפליקציות היברידיות, המרחיבות את האפשרויות למפתחים.

MAUI (Multi-platform App UI) שיפר ביצועים ואינטגרציה עם יישומים שולחן העבודה והנייד. רכיבי ממשק חדשים כגון TitleBar ו-HybridWebView נוספו, מה שמקל עוד יותר על יצירת יישומי משתמש אינטראקטיביים.

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

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