Ulepszenia wydajnosci .NET 10: Jak produkty Iron Software wyrozniaja sie w najnowszym frameworku
Wprowadzenie

Platforma .NET 10 firmy Microsoft stanowi znaczący kamień milowy w ewolucji platformy .NET, zapewniając znaczną poprawę wydajności, ulepszone generowanie kodu oraz nowe, potężne funkcje, z których programiści mogą korzystać od razu. Wraz z wydaniem .NET 10 programiści korzystający z produktów Iron Software — w tym IronPDF, IronOCR, IronBarcode i IronXL — mogą wykorzystać te ulepszenia do tworzenia szybszych i bardziej wydajnych aplikacji.
W tym artykułe omówiono główne ulepszenia wydajności w .NET 10, pokazano, w jaki sposób Suite produktów Iron Software płynnie integruje się z najnowszym frameworkiem, oraz przedstawiono praktyczne przykłady kodu ilustrujące działanie tych bibliotek. Zgodnie z ostatnimi dyskusjami na Medium i dev.to programiści korzystający z Visual Studio 2026 z .NET 10 odnotowują bezprecedensowy wzrost wydajności, co sprawia, że jest to idealny moment na modernizację stosu programistycznego.
Przegląd ulepszeń wydajności w .NET 10
Ulepszenia wydajności środowiska uruchomieniowego
.NET 10 wprowadza liczne ulepszenia wydajności środowiska uruchomieniowego, które przynoszą korzyści wszystkim aplikacjom, w tym tym korzystającym z produktów Iron Software. Ulepszenia koncentrują się na kilku kluczowych obszarach:
Ulepszenia wydajności w .NET 10 są rozległe i obejmują ulepszone generowanie kodu, usprawnione odwracanie pętli oraz zaawansowane rozszerzenia wektorowe. Ulepszenia te przekładają się bezpośrednio na szybsze działanie aplikacji korzystających z IronPDF do generowania plików PDF, IronOCR do optycznego rozpoznawania znaków, IronXL do manipulacji plikami Excel oraz IronBarcode do skanowania kodów kreskowych.
Bloki rozszerzeń dodają obsługę nowych wzorców programowania, umożliwiając programistom pisanie czystszego i bardziej wydajnego kodu. Ulepszone możliwości generowania kodu oznaczają, że typowe operacje w bibliotekach przetwarzania dokumentów są wykonywane przy mniejszym obciążeniu i większej wydajności pamięci.
Ulepszone techniki generowania kodu w kompilatorze JIT skutkują bardziej zoptymalizowanym kodem asemblera. W przypadku korzystania z produktów Iron Software przekłada się to na szybsze renderowanie plików PDF, szybsze przetwarzanie OCR oraz bardziej responsywne operacje skanowania kodów kreskowych.
Postępy w kompilatorze JIT
Kompilator Just-In-Time (JIT) w .NET 10 został znacznie ulepszony:
Właściwości rozszerzeń instancji są teraz obsługiwane bardziej efektywnie przez kompilator JIT, co zmniejsza obciążenie związane z abstrakcją podczas korzystania z nowoczesnych funkcji języka C#. Jest to szczególnie przydatne podczas pracy z rozbudowanym API IronPDF do manipulacji plikami PDF.
Optymalizacje .NET Core zapewniają, że aplikacje działające na platformie .NET 10 korzystają ze skróconego czasu uruchamiania i zmniejszonego zużycia pamięci. Produkty Iron Software, które w pełni obsługują .NET 10, 9, 8, 7, 6, Framework, Core i Azure, w pełni wykorzystują te ulepszenia.
Statyczne metody rozszerzeń zostały poddane ulepszonej optymalizacji, dzięki czemu metody użytkowe i funkcje pomocnicze działają szybciej. Przyniesie to korzyści wszystkim bibliotekom Iron Software, które w swoich publicznych interfejsach API szeroko wykorzystują metody statyczne.
Obsługa kryptografii postkwantowej w .NET 10 gwarantuje, że aplikacje pozostaną bezpieczne w miarę rozwoju technologii obliczeniowych. Chociaż nie ma to bezpośredniego wpływu na możliwości przetwarzania dokumentów przez Iron Software, jest to ważne dla aplikacji łączących generowanie dokumentów z bezpieczną komunikacją.
Alokacja stosu i zarządzanie pamięcią
Jednym z najbardziej ekscytujących ulepszeń w .NET 10 jest ulepszona alokacja stosu:
Nowe funkcje obejmują możliwość alokacji w stosie małych tablic zarówno typów wartości, jak i typów referencyjnych. Zmniejsza to obciążenie związane z czyszczeniem pamięci, co jest szczególnie korzystne dla aplikacji przetwarzających duże ilości dokumentów przy użyciu IronPDF lub IronOCR.
Dodatkowe ulepszenia w zakresie kryptografii uzupełniają usprawnienia w zarządzaniu pamięcią, choć większy wpływ na przetwarzanie dokumentów ma zmniejszenie obciążenia związanego z alokacją pamięci.
Właściwości implementowane automatycznie korzystają teraz z ulepszonej analizy escape, co pozwala JIT na podejmowanie trafniejszych decyzji dotyczących czasu życia obiektów i strategii alokacji.
Ulepszona inwersja pętli umożliwia lepszy układ kodu dla operacji iteracyjnych. Podczas przetwarzania wielu dokumentów za pomocą IronXL lub skanowania wielu kodów kreskowych za pomocą IronBarcode optymalizacje te zapewniają wymierny wzrost wydajności.
IronPDF w .NET 10

IronPDF to potężna biblioteka C# służąca do tworzenia, odczytu i edycji dokumentów PDF. Dzięki ulepszeniom wydajności w .NET 10 operacje IronPDF są wykonywane szybciej niż kiedykolwiek.
Wydajność programistów dzięki IronPDF
Poprawa wydajności programistów w .NET 10 przynosi bezpośrednie korzyści użytkownikom IronPDF. Konwersja HTML do PDF, która jest jedną z najpopularniejszych funkcji biblioteki, zyskuje dzięki lepszej wydajności renderowania i zmniejszonemu zużyciu pamięci.
using IronPdf;
// Create a PDF from HTML with .NET 10 performance optimizations
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello from .NET 10!</h1>");
pdf.SaveAs("output.pdf");
using IronPdf;
// Create a PDF from HTML with .NET 10 performance optimizations
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello from .NET 10!</h1>");
pdf.SaveAs("output.pdf");
Imports IronPdf
' Create a PDF from HTML with .NET 10 performance optimizations
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello from .NET 10!</h1>")
pdf.SaveAs("output.pdf")
Przykładowy wynik konwersji HTML do PDF w .NET 10

Dowiedz się więcej o konwersji HTML do PDF w IronPDF
Konstruktory częściowe w .NET 10 umożliwiają bardziej wydajną inicjalizację obiektów, co IronPDF wykorzystuje wewnętrznie w celu uzyskania lepszej wydajności podczas tworzenia dokumentów PDF.
Zaawansowane funkcje plików PDF
Obsługa wypełnień i ulepszenie układu w .NET 10 przynoszą korzyści zaawansowanym funkcjom IronPDF, takim jak nagłówki, stopki i numeracja stron:
using IronPdf;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
MaxHeight = 50,
HtmlFragment = "<h1>Document Header</h1>"
};
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
pdf.SaveAs("document-with-header.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
MaxHeight = 50,
HtmlFragment = "<h1>Document Header</h1>"
};
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
pdf.SaveAs("document-with-header.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
.MaxHeight = 50,
.HtmlFragment = "<h1>Document Header</h1>"
}
Dim pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
pdf.SaveAs("document-with-header.pdf")
Wynik

Poznaj możliwości edycji plików PDF w IronPDF
Zaawansowane rozszerzenia wektorowe w .NET 10 usprawniają operacje na danych obrazówych, co przynosi korzyści funkcjom konwersji plików PDF na obrazy w IronPDF:
using IronPdf;
var pdf = PdfDocument.FromFile("input.pdf");
var images = pdf.ToJpegImages($"page_*.jpg");
using IronPdf;
var pdf = PdfDocument.FromFile("input.pdf");
var images = pdf.ToJpegImages($"page_*.jpg");
Imports IronPdf
Dim pdf = PdfDocument.FromFile("input.pdf")
Dim images = pdf.ToJpegImages("page_*.jpg")
Pliki graficzne wygenerowane na podstawie pliku PDF

IronOCR w .NET 10

IronOCR zapewnia zaawansowane funkcje optycznego rozpoznawania znaków dla programistów C#. Ulepszenia wydajności w .NET 10 znacznie zwiększają szybkość przetwarzania OCR.
Ulepszenia wydajności OCR
Integracja z interfejsem API kryptografii systemu Windows zapewnia bezpieczną obsługę danych OCR, a ulepszenia wydajności w .NET 10 przyspieszają ekstrakcję tekstu:
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("document.png");
var result = ocr.Read(input);
Console.WriteLine(result.Text);
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("document.png");
var result = ocr.Read(input);
Console.WriteLine(result.Text);
Imports IronOcr
Dim ocr As New IronTesseract()
Using input As New OcrInput()
input.LoadImage("document.png")
Dim result = ocr.Read(input)
Console.WriteLine(result.Text)
End Using
Wynik OCR

Odkryj funkcje rozpoznawania tekstu IronOCR
Ulepszenia w zakresie alokacji stosu w .NET 10 zmniejszają obciążenie pamięci podczas operacji OCR, co jest szczególnie ważne podczas przetwarzania dużych partii dokumentów:
using IronOcr;
var ocr = new IronTesseract();
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;
var results = new List<string>();
foreach (var imagePath in Directory.GetFiles("images", "*.png"))
{
using var input = new OcrInput();
input.LoadImage(imagePath);
var result = ocr.Read(input);
results.Add(result.Text);
}
using IronOcr;
var ocr = new IronTesseract();
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;
var results = new List<string>();
foreach (var imagePath in Directory.GetFiles("images", "*.png"))
{
using var input = new OcrInput();
input.LoadImage(imagePath);
var result = ocr.Read(input);
results.Add(result.Text);
}
Imports IronOcr
Dim ocr As New IronTesseract()
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto
Dim results As New List(Of String)()
For Each imagePath In Directory.GetFiles("images", "*.png")
Using input As New OcrInput()
input.LoadImage(imagePath)
Dim result = ocr.Read(input)
results.Add(result.Text)
End Using
Next
Obsługa wielojęzycznego OCR
Minimalne aktualizacje API w .NET 10 uzupełniają obsługę ponad 125 języków przez IronOCR. Poprawiona wydajność środowiska uruchomieniowego oznacza szybsze ładowanie i przetwarzanie modeli językowych:
using IronOcr;
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.German;
using var input = new OcrInput();
input.LoadPdf("german-document.pdf");
var result = ocr.Read(input);
Console.WriteLine(result.Text);
using IronOcr;
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.German;
using var input = new OcrInput();
input.LoadPdf("german-document.pdf");
var result = ocr.Read(input);
Console.WriteLine(result.Text);
Imports IronOcr
Dim ocr As New IronTesseract()
ocr.Language = OcrLanguage.German
Using input As New OcrInput()
input.LoadPdf("german-document.pdf")
Dim result = ocr.Read(input)
Console.WriteLine(result.Text)
End Using
IronBarcode w .NET 10

IronBarcode umożliwia programistom łatwe odczytywanie i zapisywanie kodów kreskowych oraz kodów QR. Ulepszenia wydajności w .NET 10 zwiększają szybkość wykrywania i generowania kodów barcode.
Generowanie BarCode
Optymalizacja metod częściowych w .NET 10 poprawia wydajność metod generowania IronBarcode:
using IronBarCode;
var barcode = BarcodeWriter.CreateBarcode("12345", BarcodeEncoding.Code128);
barcode.SaveAsImage("barcode.png");
using IronBarCode;
var barcode = BarcodeWriter.CreateBarcode("12345", BarcodeEncoding.Code128);
barcode.SaveAsImage("barcode.png");
Imports IronBarCode
Dim barcode = BarcodeWriter.CreateBarcode("12345", BarcodeEncoding.Code128)
barcode.SaveAsImage("barcode.png")
BarCode wyjściowy

Poznaj możliwości generowania kodów kreskowych przez IronBarcode
Kompatybilność z .NET Framework gwarantuje, że IronBarcode działa płynnie we wszystkich wersjach .NET, w tym w najnowszej .NET 10:
using IronBarCode;
using System.Drawing;
var myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com", BarcodeEncoding.QRCode);
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.SaveAsImage("qr-code.png");
using IronBarCode;
using System.Drawing;
var myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com", BarcodeEncoding.QRCode);
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.SaveAsImage("qr-code.png");
Imports IronBarCode
Imports System.Drawing
Dim myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com", BarcodeEncoding.QRCode)
myBarcode.AddBarcodeValueTextBelowBarcode()
myBarcode.SaveAsImage("qr-code.png")
Wygenerowany kod QR

Odczytywanie BarCode
Ulepszenia standardowej biblioteki w .NET 10 zwiększają możliwości przetwarzania obrazów, co IronBarcode wykorzystuje do dokładniejszego wykrywania kodów kreskowych:
using IronBarCode;
var results = BarcodeReader.Read("barcode-image.png");
foreach (var barcode in results)
{
Console.WriteLine($"Value: {barcode.Value}");
Console.WriteLine($"Type: {barcode.BarcodeType}");
}
using IronBarCode;
var results = BarcodeReader.Read("barcode-image.png");
foreach (var barcode in results)
{
Console.WriteLine($"Value: {barcode.Value}");
Console.WriteLine($"Type: {barcode.BarcodeType}");
}
Imports IronBarCode
Dim results = BarcodeReader.Read("barcode-image.png")
For Each barcode In results
Console.WriteLine($"Value: {barcode.Value}")
Console.WriteLine($"Type: {barcode.BarcodeType}")
Next
Dowiedz się więcej o odczytywaniu BarCodes za pomocą IronBarcode
Najwyższej klasy obsługa wielu formatów BARCODE oznacza, że programiści mogą obsługiwać różne typy BARCODE z niezmienną wydajnością:
using IronBarCode;
var readOptions = new BarcodeReaderOptions
{
ExpectMultipleBarcodes = true,
ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional | BarcodeEncoding.AllTwoDimensional
};
var results = BarcodeReader.Read("multi-barcode-image.png", readOptions);
Console.WriteLine($"Found {results.Count()} barcodes");
using IronBarCode;
var readOptions = new BarcodeReaderOptions
{
ExpectMultipleBarcodes = true,
ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional | BarcodeEncoding.AllTwoDimensional
};
var results = BarcodeReader.Read("multi-barcode-image.png", readOptions);
Console.WriteLine($"Found {results.Count()} barcodes");
Imports IronBarCode
Dim readOptions As New BarcodeReaderOptions With {
.ExpectMultipleBarcodes = True,
.ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional Or BarcodeEncoding.AllTwoDimensional
}
Dim results = BarcodeReader.Read("multi-barcode-image.png", readOptions)
Console.WriteLine($"Found {results.Count()} barcodes")
IronXL w .NET 10

IronXL zapewnia możliwości manipulacji plikami Excel bez konieczności korzystania z pakietu Microsoft Office. Ulepszenia wydajności w .NET 10 znacznie przyspieszają operacje na arkuszach kalkulacyjnych.
Operacje na plikach Excel
Ulepszona diagnostyka w .NET 10 pomaga programistom zidentyfikować wąskie gardła wydajności podczas pracy z dużymi plikami Excel przy użyciu IronXL:
using IronXL;
var workbook = WorkBook.Create();
var worksheet = workbook.DefaultWorkSheet;
worksheet["A1"].Value = "Product";
worksheet["B1"].Value = "Price";
worksheet["A2"].Value = "Widget";
worksheet["B2"].Value = 29.99;
workbook.SaveAs("products.xlsx");
using IronXL;
var workbook = WorkBook.Create();
var worksheet = workbook.DefaultWorkSheet;
worksheet["A1"].Value = "Product";
worksheet["B1"].Value = "Price";
worksheet["A2"].Value = "Widget";
worksheet["B2"].Value = 29.99;
workbook.SaveAs("products.xlsx");
Imports IronXL
Dim workbook = WorkBook.Create()
Dim worksheet = workbook.DefaultWorkSheet
worksheet("A1").Value = "Product"
worksheet("B1").Value = "Price"
worksheet("A2").Value = "Widget"
worksheet("B2").Value = 29.99
workbook.SaveAs("products.xlsx")
Utworzony plik Excel

Odkryj funkcje tworzenia plików Excel w IronXL
Główne optymalizacje wprowadzone w .NET 10 przynoszą korzyści operacjom na dużych zbiorach danych w IronXL:
using IronXL;
var workbook = WorkBook.Load("financial_report.xlsx");
var worksheet = workbook.WorkSheets.First();
var dataRange = worksheet["A1:D100"];
foreach (var cell in dataRange)
{
if (cell.IsFormula)
{
Console.WriteLine($"Formula: {cell.Formula}, Value: {cell.Value}");
}
}
using IronXL;
var workbook = WorkBook.Load("financial_report.xlsx");
var worksheet = workbook.WorkSheets.First();
var dataRange = worksheet["A1:D100"];
foreach (var cell in dataRange)
{
if (cell.IsFormula)
{
Console.WriteLine($"Formula: {cell.Formula}, Value: {cell.Value}");
}
}
Imports IronXL
Dim workbook = WorkBook.Load("financial_report.xlsx")
Dim worksheet = workbook.WorkSheets.First()
Dim dataRange = worksheet("A1:D100")
For Each cell In dataRange
If cell.IsFormula Then
Console.WriteLine($"Formula: {cell.Formula}, Value: {cell.Value}")
End If
Next
Wynik konsoli

Zaawansowane funkcje programu Excel
Bloki rozszerzeń w .NET 10 umożliwiają tworzenie bardziej wyrazistego kodu podczas pracy z IronXL:
using IronXL;
var workbook = WorkBook.Load("financial-report.xlsx");
var worksheet = workbook.WorkSheets["Q4 Results"];
// Calculate totals with .NET 10 performance
var totalRevenue = worksheet["B2:B50"].Sum();
var averageProfit = worksheet["C2:C50"].Avg();
Console.WriteLine($"Total Revenue: ${totalRevenue:N2}");
Console.WriteLine($"Average Profit: ${averageProfit:N2}");
workbook.SaveAs("updated-report.xlsx");
using IronXL;
var workbook = WorkBook.Load("financial-report.xlsx");
var worksheet = workbook.WorkSheets["Q4 Results"];
// Calculate totals with .NET 10 performance
var totalRevenue = worksheet["B2:B50"].Sum();
var averageProfit = worksheet["C2:C50"].Avg();
Console.WriteLine($"Total Revenue: ${totalRevenue:N2}");
Console.WriteLine($"Average Profit: ${averageProfit:N2}");
workbook.SaveAs("updated-report.xlsx");
Imports IronXL
Dim workbook = WorkBook.Load("financial-report.xlsx")
Dim worksheet = workbook.WorkSheets("Q4 Results")
' Calculate totals with .NET 10 performance
Dim totalRevenue = worksheet("B2:B50").Sum()
Dim averageProfit = worksheet("C2:C50").Avg()
Console.WriteLine($"Total Revenue: {totalRevenue:N2}")
Console.WriteLine($"Average Profit: {averageProfit:N2}")
workbook.SaveAs("updated-report.xlsx")
Dowiedz się więcej o obsłudze formuł w IronXL
Aplikacje Windows Forms korzystają z synchronicznego interfejsu API IronXL, który wydajnie współpracuje z ulepszonym modelem wątków w .NET 10:
using IronXL;
using System.Data;
var workbook = WorkBook.Load("data.xlsx");
var worksheet = workbook.DefaultWorkSheet;
// Convert Excel to DataTable with enhanced performance
var dataTable = worksheet.ToDataTable(true);
foreach (DataRow row in dataTable.Rows)
{
Console.WriteLine($"{row["Name"]}: {row["Value"]}");
}
using IronXL;
using System.Data;
var workbook = WorkBook.Load("data.xlsx");
var worksheet = workbook.DefaultWorkSheet;
// Convert Excel to DataTable with enhanced performance
var dataTable = worksheet.ToDataTable(true);
foreach (DataRow row in dataTable.Rows)
{
Console.WriteLine($"{row["Name"]}: {row["Value"]}");
}
Imports IronXL
Imports System.Data
Dim workbook = WorkBook.Load("data.xlsx")
Dim worksheet = workbook.DefaultWorkSheet
' Convert Excel to DataTable with enhanced performance
Dim dataTable = worksheet.ToDataTable(True)
For Each row As DataRow In dataTable.Rows
Console.WriteLine($"{row("Name")}: {row("Value")}")
Next
Visual Studio 2026 i .NET 10 Development

Jak zauważono w dyskusjach społeczności na Medium, Visual Studio 2026 wnosi znaczące ulepszenia do programowania w .NET 10. Według programistów z serwisu dev.to, ulepszone możliwości AI oraz zwiększona wydajność tego środowiska IDE sprawiają, że jest ono doskonałym wyborem do pracy z produktami Iron Software.
Ulepszenia środowiska programistycznego
Ulepszenia generowania kodu w Visual Studio 2026 uzupełniają ulepszenia środowiska uruchomieniowego .NET 10, zapewniając płynne środowisko programistyczne podczas pracy z:
-
Ulepszona funkcja IntelliSense w Visual Studio 2026 zapewnia szybsze uzupełnianie kodu dzięki interfejsom API Iron Software
-
Ulepszenia Blazor, które umożliwiają lepsze debugowanie aplikacji internetowych przy użyciu IronPDF
- Znaczące ulepszenia debuggera, które pomagają w rozwiązywaniu problemów związanych ze złożonymi procesami przetwarzania dokumentów
Twórcy gier i inni programiści dbający o wydajność szczególnie korzystają z narzędzi do profilowania w Visual Studio 2026 podczas optymalizacji aplikacji opartych na oprogramowaniu Iron Software.
Testowanie i debugowanie
Profilowanie wydajności w czasie wykonywania w Visual Studio 2026 pomaga zidentyfikować wąskie gardła w aplikacjach korzystających z produktów Iron Software:
using IronPdf;
using System.Diagnostics;
var stopwatch = Stopwatch.StartNew();
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Performance Test</h1>");
stopwatch.Stop();
Console.WriteLine($"PDF generation took {stopwatch.ElapsedMilliseconds}ms");
using IronPdf;
using System.Diagnostics;
var stopwatch = Stopwatch.StartNew();
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Performance Test</h1>");
stopwatch.Stop();
Console.WriteLine($"PDF generation took {stopwatch.ElapsedMilliseconds}ms");
Imports IronPdf
Imports System.Diagnostics
Dim stopwatch As Stopwatch = Stopwatch.StartNew()
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Performance Test</h1>")
stopwatch.Stop()
Console.WriteLine($"PDF generation took {stopwatch.ElapsedMilliseconds}ms")
Ulepszenia OpenAPI w .NET 10 ułatwiają tworzenie interfejsów API REST, które wykorzystują produkty Iron Software do obsługi punktów końcowych przetwarzania dokumentów.
Dodatkowe funkcje .NET 10 przynoszące korzyści produktom Iron Software
Optymalizacja pamięci i wydajności
Ulepszenia Nativeaot zapewniają korzyści wynikające z kompilacji z wyprzedzeniem, chociaż produkty Iron Software są również zoptymalizowane pod kątem scenariuszy JIT.
Kwestie związane z długoterminowym wsparciem: Chociaż .NET 10 nie jest wersją LTS, produkty Iron Software zachowują kompatybilność z wieloma wersjami .NET, zapewniając programistom możliwość aktualizacji, gdy będą gotowi.
Optymalizacja argumentów struktur zmniejsza alokację pamięci podczas przekazywania struktur danych, co przynosi korzyści dla manipulacji komórkami w IronXL oraz obsługi współrzędnych w IronBarcode.
Niewielkie ulepszenia API ułatwiają tworzenie lekkich usług internetowych wykorzystujących produkty Iron Software:
using IronPdf;
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapPost("/generate-pdf", async (string html) =>
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
return Results.File(pdf.BinaryData, "application/pdf", "generated.pdf");
});
app.Run();
using IronPdf;
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapPost("/generate-pdf", async (string html) =>
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
return Results.File(pdf.BinaryData, "application/pdf", "generated.pdf");
});
app.Run();
Imports IronPdf
Dim builder = WebApplication.CreateBuilder(args)
Dim app = builder.Build()
app.MapPost("/generate-pdf", Async Function(html As String)
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html)
Return Results.File(pdf.BinaryData, "application/pdf", "generated.pdf")
End Function)
app.Run()
Ulepszenia języka i kompilatora
Łatwiejszy dostęp do nowoczesnych funkcji języka C#: .NET 10 obsługuje najnowsze ulepszenia języka C#, umożliwiając programistom korzystanie z nowoczesnej składni podczas pracy z interfejsami API Iron Software.
Alokacja małych tablic w stosie zmniejsza obciążenie GC w ciasnych pętlach przetwarzających wiele dokumentów:
using IronPdf;
var renderer = new ChromePdfRenderer();
ReadOnlySpan<string> htmlPages =
[
"<h1>Page 1</h1>",
"<h1>Page 2</h1>",
"<h1>Page 3</h1>"
];
foreach (var page in htmlPages)
{
var pdf = renderer.RenderHtmlAsPdf(page);
// Process each PDF
}
using IronPdf;
var renderer = new ChromePdfRenderer();
ReadOnlySpan<string> htmlPages =
[
"<h1>Page 1</h1>",
"<h1>Page 2</h1>",
"<h1>Page 3</h1>"
];
foreach (var page in htmlPages)
{
var pdf = renderer.RenderHtmlAsPdf(page);
// Process each PDF
}
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim htmlPages As ReadOnlySpan(Of String) =
{
"<h1>Page 1</h1>",
"<h1>Page 2</h1>",
"<h1>Page 3</h1>"
}
For Each page In htmlPages
Dim pdf = renderer.RenderHtmlAsPdf(page)
' Process each PDF
Next
Przypisanie warunkówe Null i inne funkcje językowe działają płynnie z produktami Iron Software, umożliwiając tworzenie bezpieczniejszego kodu:
using IronOcr;
string? ExtractText(string? imagePath)
{
if (imagePath is null) return null;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage(imagePath);
return ocr.Read(input)?.Text;
}
using IronOcr;
string? ExtractText(string? imagePath)
{
if (imagePath is null) return null;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage(imagePath);
return ocr.Read(input)?.Text;
}
Imports IronOcr
Function ExtractText(imagePath As String) As String
If imagePath Is Nothing Then Return Nothing
Dim ocr = New IronTesseract()
Using input = New OcrInput()
input.LoadImage(imagePath)
Return ocr.Read(input)?.Text
End Using
End Function
Ulepszenia w całym frameworku
Ulepszenia w obsłudze typów generycznych bez ograniczeń przynoszą korzyści generycznym interfejsom API we wszystkich produktach Iron Software.
Ulepszenia w zakresie zbierania śmieći skracają czasy pauz, co jest szczególnie zauważalne w aplikacjach przetwarzających duże partie dokumentów:
Ulepszenia w zakresie wnioskowania o typach argumentów sprawiają, że wywołania metod generycznych są bardziej przejrzyste podczas pracy z interfejsami API Iron Software.
Praktyczny przykład integracji
Oto obszerny przykład pokazujący, jak korzystać z wielu produktów Iron Software jednocześnie w aplikacji .NET 10:
using IronPdf;
using IronOcr;
using IronBarCode;
using IronXL;
// Create an Excel report
var workbook = WorkBook.Create();
var worksheet = workbook.DefaultWorkSheet;
worksheet["A1"].Value = "Product";
worksheet["B1"].Value = "Barcode";
worksheet["A2"].Value = "Item 001";
// Generate barcode
var barcode = BarcodeWriter.CreateBarcode("ITEM001", BarcodeEncoding.Code128);
barcode.SaveAsImage("barcode.png");
// Perform OCR on an invoice
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("invoice.png");
var ocrResult = ocr.Read(input);
// Generate PDF report
var renderer = new ChromePdfRenderer();
var htmlReport = $@"
<html>
<body>
<h1>Report Generated with .NET 10</h1>
<h2>OCR Results:</h2>
<p>{ocrResult.Text}</p>
<h2>Products:</h2>
<p>See Excel file for details</p>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(htmlReport);
pdf.SaveAs("comprehensive-report.pdf");
workbook.SaveAs("product-data.xlsx");
using IronPdf;
using IronOcr;
using IronBarCode;
using IronXL;
// Create an Excel report
var workbook = WorkBook.Create();
var worksheet = workbook.DefaultWorkSheet;
worksheet["A1"].Value = "Product";
worksheet["B1"].Value = "Barcode";
worksheet["A2"].Value = "Item 001";
// Generate barcode
var barcode = BarcodeWriter.CreateBarcode("ITEM001", BarcodeEncoding.Code128);
barcode.SaveAsImage("barcode.png");
// Perform OCR on an invoice
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("invoice.png");
var ocrResult = ocr.Read(input);
// Generate PDF report
var renderer = new ChromePdfRenderer();
var htmlReport = $@"
<html>
<body>
<h1>Report Generated with .NET 10</h1>
<h2>OCR Results:</h2>
<p>{ocrResult.Text}</p>
<h2>Products:</h2>
<p>See Excel file for details</p>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(htmlReport);
pdf.SaveAs("comprehensive-report.pdf");
workbook.SaveAs("product-data.xlsx");
Imports IronPdf
Imports IronOcr
Imports IronBarCode
Imports IronXL
' Create an Excel report
Dim workbook = WorkBook.Create()
Dim worksheet = workbook.DefaultWorkSheet
worksheet("A1").Value = "Product"
worksheet("B1").Value = "Barcode"
worksheet("A2").Value = "Item 001"
' Generate barcode
Dim barcode = BarcodeWriter.CreateBarcode("ITEM001", BarcodeEncoding.Code128)
barcode.SaveAsImage("barcode.png")
' Perform OCR on an invoice
Dim ocr = New IronTesseract()
Using input As New OcrInput()
input.LoadImage("invoice.png")
Dim ocrResult = ocr.Read(input)
' Generate PDF report
Dim renderer = New ChromePdfRenderer()
Dim htmlReport = $"
<html>
<body>
<h1>Report Generated with .NET 10</h1>
<h2>OCR Results:</h2>
<p>{ocrResult.Text}</p>
<h2>Products:</h2>
<p>See Excel file for details</p>
</body>
</html>"
Dim pdf = renderer.RenderHtmlAsPdf(htmlReport)
pdf.SaveAs("comprehensive-report.pdf")
End Using
workbook.SaveAs("product-data.xlsx")
Przykładowy wynik testu

Ten przykład pokazuje płynną integrację IronPDF, IronOCR, IronBarcode i IronXL w środowisku .NET 10, w pełni wykorzystując ulepszenia wydajności frameworka.
Wnioski
.NET 10 stanowi znaczący krok naprzód w zakresie wydajności środowiska uruchomieniowego, jakości generowania kodu oraz produktywności programistów. Pakiet produktów Iron Software — IronPDF, IronOCR, IronBarcode i IronXL — działa płynnie z platformą .NET 10, umożliwiając programistom tworzenie wysokowydajnych aplikacji do przetwarzania dokumentów.
Wszystkie produkty Iron Software zostały przetestowane i zweryfikowane pod kątem płynnej współpracy z platformą .NET 10, zachowując pełną kompatybilność i korzystając jednocześnie z ulepszeń wydajnościowych tego środowiska. Niezależnie od tego, czy generujesz pliki PDF z HTML, wyodrębniasz tekst za pomocą OCR, tworzysz lub odczytujesz kody kreskowe, czy też przetwarzasz pliki Excel, produkty Iron Software zapewniają niezawodne, wysokowydajne rozwiązania, które w pełni wykorzystują możliwości platformy .NET 10.
Połączenie ulepszeń środowiska uruchomieniowego .NET 10 oraz zoptymalizowanych bibliotek firmy Iron Software tworzy idealne środowisko do tworzenia nowoczesnych, wydajnych aplikacji. Dzięki obsłudze platform .NET 10, 9, 8, 7, 6, Framework, Core i Azure produkty Iron Software zapewniają elastyczność i wydajność w każdym scenariuszu programowania .NET.
Dla programistów korzystających z Visual Studio 2026, jak wspomniano w zasobach społecznościowych, takich jak Medium i dev.to, ulepszone środowisko programistyczne w połączeniu z .NET 10 i produktami Iron Software zapewnia niespotykaną dotąd wydajność i działanie aplikacji.
Odwiedź stronę ironsoftware.com, aby zapoznać się z pełną ofertą bibliotek .NET i już dziś zacznij tworzyć zaawansowane aplikacje do przetwarzania dokumentów z wykorzystaniem .NET 10.