Products/fuzzyTECH Editions/Benchmarks

All digital computers have been developed on the basis of Boolean 0/1 type Logic. Thus computing the fuzzy logic algorithm is quite hard for standard microcontrollers and initial implementations of the fuzzy logic algorithm in software were relatively slow and used quite substantial ROM and RAM memory.

We have worked very hard over the past 8 years to optimized the fuzzy logic algorithm in a way that even low-end microcontrollers that may cost less than $1 in quantities can run fuzzy logic systems at high speeds. About a decade ago, a simple fuzzy logic controller took about 1 second computation time and required up to 20KB ROM space on the standard 8051 microcontroller at 12 MHz. Our optimized fuzzy logic solution now lets you compute the same fuzzy logic system within 1 millisecond requireing less than 500 bytes of ROM. Fast 16-bit microcontrollers, such as the 80C166, do compute even very large fuzzy logic systems within less than 0.5 milliseconds. If your application requires even faster response times, fuzzy coprocessors, such as the benchmarked 81C99x deliver even higher performance.

For a detailed comparison of the computing requirements of fuzzy logic systems on different hardware platform, we have created a set of 5 different standardized fuzzy logic systems as benchmark systems. These fuzzy logic systems (Bench 0 to Bench 4) stem from industrial fuzzy logic applications and represent typical configurations:

Bench 4 stems from a research application and is the largest known embedded fuzzy logic system.

The following table shows the benchmark results for typical hardware platforms. Notice that for the PC platform, we have selected an Intel processor with no cash memory and no floating point unit, so that you can calculate the performance of faster processors more easily.

Benchmarks  Bench 0 Bench 1 Bench 2 Bench 3 Bench 4
Processor/Controller 7 Rules
2 In / 1 Out
20 Rules
2 In / 1 Out
20 FAM Rules
2 In / 1 Out
80 FAM Rules
3 In / 1 Out
500 FAM Rules
8 In / 4 Out
PC: fuzzyTECH Professional Edition, C code generation, 16 bit resolution, test device 80486SX, 33 MHz, MS-C 8.00 0.05/0.07 ms
0.73 KB OBJ
39 Byte RAM
0.05/0.08 ms
0.82 KB OBJ
47 Byte RAM
0.05/0.09 ms
0.89 KB OBJ
47 Byte RAM
0.09/0.12 ms
1.27 KB OBJ
53 Byte RAM
0.35/0.45 ms
3.5 KB OBJ
185 Byte RAM
80Cx96: fuzzyTECH MCU-96 Edition, assembly code generation, 16 bit resolution, test device 80C196KD, internal ROM, 20 MHz 0.19/0.23 ms
0.63 KB ROM
50 Byte RAM
0.24/0.33 ms
0.69 KB ROM
58 Byte RAM
0.26/0.38 ms
0.78 KB ROM
58 Byte RAM
0.44/0.64 ms
1.17 KB ROM
66 Byte RAM
1.87/2.45 ms
3.47 KB ROM
214 Byte RAM
80C16x: fuzzyTECH MCU-166 Edition, assembly code generation, 16 bit resolution, test device 80C166, internal ROM, 20 MHz 0.05/0.06 ms
0.44 KB ROM
30 Byte RAM
0.06/0.08 ms
0.56 KB ROM
30 Byte RAM
0.06/0.09 ms
0.61 KB ROM
30 Byte RAM
0.10/0.14 ms
0.99 KB ROM
36 Byte RAM
0.43/0.56 ms
3.2 KB ROM
194 B RAM
68HC11: fuzzyTECH MCU-11/12 Edition, assembly code generation, 8 bit resolution, test device 68HC11, external ROM, 8 MHz 1.1 ms/1.3 ms
0.64 KB ROM
31 Byte RAM
1.4ms /1.9 ms
0.71 KB ROM
35 Byte RAM
1.4 ms/1.9 ms
0.75 KB ROM
35 Byte RAM
2.6 ms/3.5 ms
1.1 KB ROM
39 Byte RAM
11 ms/14 ms
3.1 KB ROM
113 Byte RAM
68HC12: fuzzyTECH MCU-11/12 Edition, assembly code generation, 8 bit resolution, test device 68HC12, external ROM, 16 MHz 0.09ms/0.09ms
0.34 KB ROM
26 Byte RAM
0.14ms/0.15ms
0.42 KB ROM
30 Byte RAM
0.16ms/0.17ms
0.54 KB ROM
30 Byte RAM
0.40ms/0.41ms
1.4 KB ROM
34 Byte RAM
2.1 ms/2.2 ms
8.8 KB ROM
108 Byte RAM
TMS-320: fuzzyTECH MCU-320 Edition, assembly code generation, 16 bit resolution, test device TMS-320C52, ext. ROM, 20 ns inst. 0.02/0.022 ms
0.85 KB ROM
54 Byte RAM
0.023/0.03 ms
0.99 KB ROM
60 Byte RAM
0.024/0.031 ms
1.06 KB ROM
62 Byte RAM
0.039/0.049 ms
1.8 KB ROM
70 Byte RAM
0.146/0.188 ms
5.7 KB ROM
218 B RAM*)
8051: fuzzyTECH MCU-51 Edition, assembly code generation, 8 bit resolution, test device 80C51, internal ROM, 12 MHz 1.0/1.2 ms
0.45 KB ROM
21 Byte RAM
1.4/1.9 ms
0.54 KB ROM
25 Byte RAM
1.5/2.0 ms
0.58 KB ROM
25 Byte RAM
4.4/4.9 ms
1.0 KB ROM
29 Byte RAM
16.7/18.0 ms
3.0 KB ROM
103 B RAM
PIC16C5X: fuzzyTECH MP Edition, assembly code generation, 8 bit resolution, test device PIC16C74, internal ROM, 20 MHz 0.4/0.4 ms
0.32 KB ROM
27 Byte RAM
0.7/0.8 ms
0.41 KB ROM
31 Byte RAM
0.9/1.0 ms
0.44 KB ROM
31 Byte RAM
2.5/2.7 ms
0.7 KB ROM
35 Byte RAM
10.3/11.4 ms
2.2 KB ROM
107 Byte RAM
Programmable Logic Controller: fuzzyTECH IA Edition, fuzzy function block, 16 bit resolution, test device Moeller PS4/401 -/1.6 ms
-
-
-/1.6 ms
-
-
-/1.6 ms
-
-
-/1.6 ms
-
-
-/3.0 ms
-
-

All computing times are given as average / maximum (average case / worst case)