beremiz

a66062a205ae
Build by default with optimization level -O2 for GCC

before -O0 was used by default, that caused pretty bad performance.

Amd64, i6700k, 4200MHz, GNU/Linux (non-RT kernel), gcc 7.2.0

-------------------------------------
Optimization | EN/ENO |no EN/ENO |
-------------------------------------
default | 11 | 9.5 |
-O3 | 3.9 | 5.2 |
-O2 | 4 | 4.8 |
-Os | 4.1 | 3.5 |
-Ofast | 3.9 | 5.2 |
-------------------------------------

ARM, BBB Cortex-A8, 600Mhz, GNU/Linux, gcc 4.6.3

-------------------------------------
Optimization | EN/ENO |no EN/ENO |
-------------------------------------
default | 273 | 226 |
-O3 | 141.8 | 106.2 |
-O2 | 142 | 107 |
-Os | 152.5 | 112.2 |
-Ofast | 141.7 | 106.2 |
-------------------------------------

For embedded systems with size constaints (like Cortex-Mx, AVR and so
on) I usually use -Os. It gets pretty good results. For
GNU/Linux-based systems -O2 is usually a good choice, as you see the
test results.
IEC 61131-3
===========
IEC-61131 is a normative document provided by the standards organization IEC
(International Electrotechnical Commission) and describing a standard for
implementing programmable controllers.
The part 3 of this document (commonly named IEC 61131-3) specifies syntax and
semantics for programming language for programmable controllers. Beremiz
implements all the languages described in this document.
http://www.iec.eu
PLCopen TC6
===========
PLCopen is a vendor- and product-independent worldwide association defining
international standards for various topics related to control programming.
For this purpose, PLCopen has 6 technical committees.
The goal of the sixth committee (TC6) is to define a standard file format,
based on XML, for exchanging programmables controllers programmed using
IEC 61131-3 languages. Beremiz uses this file format for saving the PLC
programs of projects.
http://www.plcopen.org