Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "DSDP/RTSC - Performance"
m |
m |
||
(34 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | == Config time benchmarks == | ||
+ | The test setup uses memory.cfg and memory.c from the SYSBIOS memory example, SYS/BIOS 6.32.05.44, and a configuro makefile. | ||
+ | The first trace command added in xs.js, right after setting up the trace environment, then the second one is in xdc.cfg.Main right after the call to validate, and the third one at the end of xs.js. | ||
+ | === Windows XP (Pentium 4 3.20 Ghz, 3GB RAM) results === | ||
+ | |||
+ | {| cellspacing="1" cellpadding="2" border="1" align="left" | ||
+ | |- | ||
+ | !Product!!validation!!whole config | ||
+ | |- align="center" | ||
+ | !3.21.00 | ||
+ | |5.5s||11.2s | ||
+ | |- align="center" | ||
+ | !3.22.04 | ||
+ | |5.5s||10.5s | ||
+ | |- align="center" | ||
+ | !3.23.00 | ||
+ | |5.1s||10.6s | ||
+ | |- align="center" | ||
+ | !3.23 with 1.7R4 | ||
+ | |4.8s||9.7s | ||
+ | |} | ||
+ | |||
+ | <br><br><br><br><br><br> | ||
+ | |||
+ | === Windows 7 (Core 2 Duo 3.0 Ghz, 3.8GB RAM) results === | ||
+ | |||
+ | {| cellspacing="1" cellpadding="2" border="1" align="left" | ||
+ | |- | ||
+ | !Product!!validation!!whole config | ||
+ | |- align="center" | ||
+ | !3.21.00 | ||
+ | |2s||4.1s | ||
+ | |- align="center" | ||
+ | !3.22.04 | ||
+ | |2s||3.9s | ||
+ | |- align="center" | ||
+ | !3.23.00 | ||
+ | |1.75s||3.9s | ||
+ | |- align="center" | ||
+ | !3.23 with 1.7R4 | ||
+ | |1.5s||3.1s | ||
+ | |} | ||
+ | |||
+ | |||
+ | <br><br><br><br> | ||
+ | |||
+ | |||
+ | |||
== Benchmarks == | == Benchmarks == | ||
− | + | These benchmarks measure the total time to build an application ''including'' the generation of configuration package (which only happens the first time a configuration is created). | |
− | + | === Build time (Jun 2010) === | |
+ | The latest results for 3.16.02.32 differ from the previous ones. The difference might be due to a new CCS used or to some changes in my PC settings. | ||
{| cellspacing="1" cellpadding="2" border="1" align="left" | {| cellspacing="1" cellpadding="2" border="1" align="left" | ||
− | |+ | + | |+ BIOS memory example for MSP430, 'whole_program' profile, exp430F5438 platform |
− | BIOS memory example | + | |- |
+ | !XDCtools!!BIOS!!CG Tools!!generating configPkg!!rebuilding configPkg!!big C compile!!partial link!!opt compile!!app build!!Total | ||
+ | |- align="center" | ||
+ | !3.20.00.04 | ||
+ | |6.21.00.13 | ||
+ | |3.2.1 | ||
+ | |4s||18s||8s||12s||4s||3s||49s | ||
+ | |- align="center" | ||
+ | !3.20.00.39 | ||
+ | |6.30.00.21 | ||
+ | |3.3.0B2 | ||
+ | |4s||22s||8s||13s||4s||3s||54s | ||
+ | |} | ||
+ | <br><br><br><br><br><br> | ||
+ | |||
+ | The difference in the configuration time is caused by addition of many peripherals packages between 3.20.00.04 and 3.20.00.39, and by debug output from modules in these packages. | ||
+ | |||
+ | {| cellspacing="1" cellpadding="2" border="1" align="left" | ||
+ | |+ BIOS memory example for C64P, 'whole_program' profile | ||
|- | |- | ||
− | ! XDCtools | + | !XDCtools!!BIOS!!CG Tools!!generating configPkg!!rebuilding configPkg!!big C compile!!partial link!!opt compile!!app build!!Total |
− | ! | + | |
− | ! big C compile | + | |
− | ! partial link | + | |
− | ! opt compile | + | |
− | ! app build | + | |
− | ! Total | + | |
|- align="center" | |- align="center" | ||
− | ! 3.16.02.32 | + | !3.16.02.32 |
− | | | + | |6.21.00.13 |
− | | | + | |6.1.12 |
− | | | + | |3s||27s||14s||30s||7s||2s||83s |
− | | 7s | + | |
− | | 2s | + | |
− | | | + | |
|- align="center" | |- align="center" | ||
− | ! 3.20.00. | + | !3.20.00.39 |
− | | | + | |6.30.00.21 |
− | | | + | |7.0.2 |
− | | | + | |3s||20s||15s||33s||9s||3s||83s |
− | | | + | |
− | | | + | |
− | | | + | |
|} | |} | ||
+ | <br><br><br><br><br><br> | ||
− | + | === Build time (Feb 2010) === | |
− | <br> | + | {| cellspacing="1" cellpadding="2" border="1" align="left" |
+ | |+ BIOS memory example built with BIOS 6.21.00.13 for C64P and MSP430 targets, 'whole_program' profile | ||
+ | |- | ||
+ | !XDCtools!!target!!generating configPkg!!rebuilding configPkg!!big C compile!!partial link!!opt compile!!app build!!Total | ||
+ | |- align="center" | ||
+ | !3.16.02.32 | ||
+ | |C64P | ||
+ | |3s||25s||13s||28s||7s||2s||78s | ||
+ | |- align="center" | ||
+ | !3.20.00.04 | ||
+ | |C64P | ||
+ | |3s||17s||13s||28s||7s||2s||70s | ||
+ | |- align="center" | ||
+ | !3.20.00.04 | ||
+ | |C64P ELF | ||
+ | |3s||18s||21s||40s||28s||2s||112s | ||
+ | |- align="center" | ||
+ | !3.20.00.04 (symdebug:none) | ||
+ | |C64P ELF | ||
+ | |3s||18s||11s||23s||4s||2s||61s | ||
+ | |- align="center" | ||
+ | !3.20.00.04 | ||
+ | |MSP430 | ||
+ | |3s||18s||7s||11s||4s||2s||45s | ||
+ | |- align="center" | ||
+ | !3.20 with -O0 | ||
+ | |C64P | ||
+ | |3s||17s||11s||28s||7s||2s||68s | ||
+ | |- align="center" | ||
+ | !3.20 with DirectCall | ||
+ | |C64P | ||
+ | |3s||17s||10s||27s||7s||2s||66s | ||
+ | |- align="center" | ||
+ | !3.20 with DirectCall and -O0 | ||
+ | |C64P | ||
+ | |3s||17s||8s||27s||6s||2s||63s | ||
+ | |} | ||
+ | <br><br> | ||
+ | The last column includes not only -O0, but also -oi0 and --symdebug:none thrown in when compiling the big C config file. | ||
− | <br> | + | <br><br><br><br><br><br> |
+ | C64P ELF was built with the 7.0.0 tools. There was no difference in C64P COFF build times between 6.1.12 and 7.0.0 tools. | ||
− | <br> | + | <br><br> |
− | <br> | + | {| cellspacing="1" cellpadding="2" border="1" align="left" |
+ | |+ different configurations, XDCtools 3.20.00.04, 'whole_program' profile | ||
+ | |- align="center" | ||
+ | !app!!big C lines!!modules!!big C compile time!!link time | ||
+ | |- align="right" | ||
+ | |align="left"|'''MSP430 local.apps.monitor''' | ||
+ | |8000||18||3s||8s | ||
+ | |- align="right" | ||
+ | |align="left"|'''C64P memory''' | ||
+ | |25000||35||13s||28s | ||
+ | |- align="right" | ||
+ | |align="left"|'''C64P rta''' | ||
+ | |40000||57||24s||55s | ||
+ | |} | ||
+ | |||
+ | <br><br><br><br><br><br><br><br><br> | ||
− | === Command line tool startup time === | + | === Command line tool startup time === |
− | These benchmarks measure the time required to start up an java environment, print a message, and shutdown from the | + | These benchmarks measure the time required to start up an java environment, print a message, and shutdown from the command line. |
{| cellspacing="1" cellpadding="2" border="1" align="left" | {| cellspacing="1" cellpadding="2" border="1" align="left" | ||
Line 62: | Line 172: | ||
| 1.3s | | 1.3s | ||
|} | |} | ||
+ | |||
+ | <br><br><br><br> | ||
+ | |||
+ | == Various documents == | ||
+ | |||
+ | [[:Image:Whole program flow.jpg|whole_program build flow diagram]]<br> |
Latest revision as of 20:58, 21 February 2012
Contents
Config time benchmarks
The test setup uses memory.cfg and memory.c from the SYSBIOS memory example, SYS/BIOS 6.32.05.44, and a configuro makefile. The first trace command added in xs.js, right after setting up the trace environment, then the second one is in xdc.cfg.Main right after the call to validate, and the third one at the end of xs.js.
Windows XP (Pentium 4 3.20 Ghz, 3GB RAM) results
Product | validation | whole config |
---|---|---|
3.21.00 | 5.5s | 11.2s |
3.22.04 | 5.5s | 10.5s |
3.23.00 | 5.1s | 10.6s |
3.23 with 1.7R4 | 4.8s | 9.7s |
Windows 7 (Core 2 Duo 3.0 Ghz, 3.8GB RAM) results
Product | validation | whole config |
---|---|---|
3.21.00 | 2s | 4.1s |
3.22.04 | 2s | 3.9s |
3.23.00 | 1.75s | 3.9s |
3.23 with 1.7R4 | 1.5s | 3.1s |
Benchmarks
These benchmarks measure the total time to build an application including the generation of configuration package (which only happens the first time a configuration is created).
Build time (Jun 2010)
The latest results for 3.16.02.32 differ from the previous ones. The difference might be due to a new CCS used or to some changes in my PC settings.
XDCtools | BIOS | CG Tools | generating configPkg | rebuilding configPkg | big C compile | partial link | opt compile | app build | Total |
---|---|---|---|---|---|---|---|---|---|
3.20.00.04 | 6.21.00.13 | 3.2.1 | 4s | 18s | 8s | 12s | 4s | 3s | 49s |
3.20.00.39 | 6.30.00.21 | 3.3.0B2 | 4s | 22s | 8s | 13s | 4s | 3s | 54s |
The difference in the configuration time is caused by addition of many peripherals packages between 3.20.00.04 and 3.20.00.39, and by debug output from modules in these packages.
XDCtools | BIOS | CG Tools | generating configPkg | rebuilding configPkg | big C compile | partial link | opt compile | app build | Total |
---|---|---|---|---|---|---|---|---|---|
3.16.02.32 | 6.21.00.13 | 6.1.12 | 3s | 27s | 14s | 30s | 7s | 2s | 83s |
3.20.00.39 | 6.30.00.21 | 7.0.2 | 3s | 20s | 15s | 33s | 9s | 3s | 83s |
Build time (Feb 2010)
XDCtools | target | generating configPkg | rebuilding configPkg | big C compile | partial link | opt compile | app build | Total |
---|---|---|---|---|---|---|---|---|
3.16.02.32 | C64P | 3s | 25s | 13s | 28s | 7s | 2s | 78s |
3.20.00.04 | C64P | 3s | 17s | 13s | 28s | 7s | 2s | 70s |
3.20.00.04 | C64P ELF | 3s | 18s | 21s | 40s | 28s | 2s | 112s |
3.20.00.04 (symdebug:none) | C64P ELF | 3s | 18s | 11s | 23s | 4s | 2s | 61s |
3.20.00.04 | MSP430 | 3s | 18s | 7s | 11s | 4s | 2s | 45s |
3.20 with -O0 | C64P | 3s | 17s | 11s | 28s | 7s | 2s | 68s |
3.20 with DirectCall | C64P | 3s | 17s | 10s | 27s | 7s | 2s | 66s |
3.20 with DirectCall and -O0 | C64P | 3s | 17s | 8s | 27s | 6s | 2s | 63s |
The last column includes not only -O0, but also -oi0 and --symdebug:none thrown in when compiling the big C config file.
C64P ELF was built with the 7.0.0 tools. There was no difference in C64P COFF build times between 6.1.12 and 7.0.0 tools.
app | big C lines | modules | big C compile time | link time |
---|---|---|---|---|
MSP430 local.apps.monitor | 8000 | 18 | 3s | 8s |
C64P memory | 25000 | 35 | 13s | 28s |
C64P rta | 40000 | 57 | 24s | 55s |
Command line tool startup time
These benchmarks measure the time required to start up an java environment, print a message, and shutdown from the command line.
XDCtools | java | tconf | xs |
---|---|---|---|
3.20.00.04 | 0.41s | 0.8s | 1.3s |