topic1Word
topic1Word
The
and how widely are they used (provide recent cited statistics).
1. Introduction
The increasingly widespread IoT applications related to the development of
various
nal processing functions. The main role in this case is played by various
microcontrollers,
which usually collect data from sensors and end-user devices, process those
data, and
forward results to higher-level systems. Currently, the market offers a whole
range of
due to its technical characteristics and good software support, as well as the
ability to use
IoT devices due to the price and performance achieved by a dual core
structure and a
is the support of its hardware and peripherals, such as GPIO pins and
communication
such libraries, even an otherwise very powerful language is not useful for
development
Another aspect is the support for the language itself on a device. It is not
uncommon
to do all the hard work of allocating and deallocating memory. This is usually
used for a
heap. Finally, with garbage collection, memory allocation can be manual, but
deallocation
and unpredictability, since the runtime environment must stop the execution
of the actual
code to search for memory that is not in use. This is especially important in
real-time ap
The machine codes are compact, processor and memory sensitive. This is
due to the fact that, the codes for declaring the conditions, rules and data
type do not exist. The system thus needs a smaller memory. Excess memory
required does not depend on the programmer data type selection and rule
declarations.
Since the assembly codes are sensitive to the process, memory, ports and
devices hardware. It gives a precise control of the processor internal devices
and the complete use of the processor-specific features in its instruction set
and its addressing modes.
The program is not compiler specific and library functions dependent.
Device driver codes may require only a few assembly instructions. A case in
point is a small embedded system like a timer device in a microwave oven.
Assembly codes for this system can be compact and precise.
High-level program facilitates ‘type checking’ making the program less prone
to error.
The ideal choice for performance comparison and evaluation would be to use
an already existing comprehensive benchmark suite which includes a wide
selection of different algorithms. However, few exist that are specifically
targeted at embedded systems,
and none exist that would consider relatively new languages like Rust or
TinyGo. Existing
1.CRC-32
2.SHA-256
3.FFT
4.FIR Filter
5. IIR Filter
The obseravations related to
performance are described in the
following figures :
The following two pictures are
for Benchmark results
comparing algorithm
performance across different
programming languages.
Every thing above is from the article from
research gate website article link
→RESEARCH GATE
As for the requirement of “and
benchmarks” in the
“Performance evaluation of C, C+
+, Rust, Python (MicroPython),
TinyGo and assembly backed by
codes and benchmarks or recent
cited research or sources.” This
word file do not contain it !!!!
every
thing is in the
following GITHUB REPOSITRY
This github :
1. a_bencher.cpp (benchmark setup).