ЛАБОРАТОРНАЯ РАБОТА № 4 «МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ»
Цель работы: знакомство с технологией применения языка ассемблера при разработке программного обеспечения на языках высокого уровня.
Изначально пользователь вводит значение Х
После из кода С++ вызывается функция, написанная на языке Assembler
В коде Assembler переменная передается в стек и происходит вызов функции на С++
По условию задания в С++ вычисляется следующая функция - f(x) = log(abs(cos(x) + sin(x))), вычисленное значение возвращается обратно в Assembler
Assembler выполняет функцию y = f(x), то есть записывает вычисленное значение и сохраняет его в переменную
А после код Assembler возвращает значение обратно в С++, где он записывается в массив y[i]
Пользователь в консоли видит пару чисел Xi, которое он ввел и результат вычислений y[i]
Результат работы программы представлен на рисунках ниже

Скорость работы кода С++ и assembler:

Скорость работы кода на Python:
Скорость работы кода на Python с DLL:
Из результатов работы программы можно сделать вывод: Самый медленный - Python из-за того, что он работает построчно. C++ (на котором написан DLL) перед работой компилируется, за счет чего работает быстрее. Самый быстрый способ вычисления результата - С++ и assembler
Для уменьшения влияния ручного ввода, каждая программа была проверена на одном фиксированном числе, результаты, написанные выше, подтвердились.
Скорость работы кода С++ и assembler:
Скорость работы кода на Python:

Скорость работы кода на Python с DLL:

Код программы представлен в файле code3.txt, Assembler - some.asm, C++ - ConsoleApplication50.cpp (Проект в ConsoleApplication50)
Код программы на Python представлен в файле python(2).txt (Проект в PythonApplication1)
Код программы на Python с DLL представлен в файле 325.txt (Проект в PythonApplication4 и DLL4)

