Home

Leistungsvergleich: ASCII vs. Unicode (C-Programm)

Dieser Vergleich zeigt die Ausführungszeit von zwei C-Programmen auf verschiedenen Architekturen: Die Messungen wurden mit clock() durchgeführt und in Mikrosekunden umgerechnet. Mit Visua Studio 2026 18.7.1, Parameter /TC (C Kompilierung, Rest Standard)

1. x64 Konsole

    ASCII-String (kein Unicode): 23452000 Mikrosekunden → schneller
    Unicode-String (L"Hallo"):   25037000 Mikrosekunden
    

2. x86 Konsole

    ASCII-String (kein Unicode): 18486000 Mikrosekunden → schneller
    Unicode-String (L"Hallo"):   23850000 Mikrosekunden
    
Ergebnis:

Quellcode (ASCII-Version)

#include <stdio.h>
#include <time.h>

int main() {
    char s[] = "Hallo"; // ASCII-String

    clock_t start = clock();
    int i;

    for (i = 0; i < 1000000; i++) {
        printf("%s\n", s);
    }

    clock_t ende = clock();
    double dauer = ((double)(ende - start)) / CLOCKS_PER_SEC * 1000000; // in Mikrosekunden

    printf("Dauer: %.0f Mikrosekunden\n", dauer);

    return 0;
}
    

Quellcode (Unicode-Version)

#include <stdio.h>
#include <time.h>

int main() {
    wchar_t s[] = L"Hallo";

    clock_t start = clock();
    int i;

    for (i = 0; i < 1000000; i++) {
        wprintf(L"%ls\n", s);
    }

    clock_t ende = clock();
    double dauer = ((double)(ende - start)) / CLOCKS_PER_SEC * 1000000; // in Mikrosekunden

    wprintf(L"Dauer: %.0f Mikrosekunden\n", dauer);

    return 0;
}
    

© Reng-EDV 2026 Leistungsanalyse C-Programme