Skip to content

vihlancevk/MyProgrammingLanguage.2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Язык программирования LC (Lazy C) с компиляцией в нативный код

Данный язык создаёт исполняемый elf файл программы.

Сравнение скорости работы двух версий LC

Я проведу тест по сравнению с предыдущей версией моего языка, которая была выполнена на моем процессоре CPU, который был скомпилирован с оптимизацией -O3 и без верификаторов.
Для тестов я буду использовать следующий код, который вычисляет факториал числа.

main()
{
    n = 10;
    i = 2000000;
    N = 0;
    
    while(i > 0)
    {
        N = fac(n);
        i = i - 1;
    }
    
    print(N);
    
    return 0;
}
fac(n)
{    
    if (n rr 0)
    {
        return 1;
    }
    else
    {
        return fac(n-1) * n;
    }
}

Тест LC c исполненем байт кода

Тест был запущен для вычисления факториала числа n = 10 i = 200000 раз. Время исполнения программы составило 0.75 с.

Тест LC с компиляцией в нативный код

Тест был запущен для вычисления факториала числа n = 10 i = 2000000 раз. Время исполнения программы составило 0.11 с.

КПД ускорения

Скорость выполнения программы выросла примерно в 68 раз.

About

My own programming language ver.2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published