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)