NitroPascal Performance Benchmarks #7
jarroddavis68
started this conversation in
DevLog
Replies: 1 comment
-
🎉 UPDATE: String Performance Problem SOLVED!Great news! We've just implemented a code generation optimization that dramatically improves the string concatenation benchmark results: New Results:
What we did: Bottom line: NitroPascal is now competitive with Delphi on string operations while maintaining its 1.7-1.9× advantage on numeric benchmarks. Best of both worlds! 💪 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Overview
Performance comparison between NitroPascal (releasefast optimization) and Delphi (Release mode) using the NPBench micro-benchmark suite.
Test Environment:
releasefast
optimization modeBenchmark Suite
NPBench consists of three micro-benchmarks designed to measure different aspects of compiler performance:
1. String Concatenation (string_concat_1k)
Repeatedly concatenates a single character to build a 1KB string:
Measures: String memory allocation, copy operations, runtime library efficiency
Data processed: 1,024 bytes per iteration
2. Array Sum (array_sum_10m)
Computes running sum over 10 million integers with array writes:
Measures: Integer arithmetic, array indexing, loop optimization, cache utilization
Data processed: 80 MB per iteration
3. Matrix Multiplication (matmul_64)
Standard matrix multiplication of two 64×64 double-precision matrices:
Measures: Floating-point arithmetic, nested loop optimization, memory access patterns
Data processed: 98,304 bytes per iteration
Methodology
Each benchmark:
Metrics:
Results
NitroPascal (releasefast)
Delphi (Release)
Performance Comparison
Analysis
String Concatenation
Array Sum
Matrix Multiplication
Summary
NitroPascal Performance Profile:
Delphi Performance Profile:
Reproducibility
Both compilers use identical source code to ensure fair comparison. Benchmarks can be reproduced using the NPBench suite included with NitroPascal.
Version: NPBench 1.0
Report Date: October 17, 2025
Beta Was this translation helpful? Give feedback.
All reactions