Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "DSDP/RTSC - Performance"

m (Various documents)
m
 
(27 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Benchmarks  ==
+
== 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 ===
  
=== Build time  ===
+
{| 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  ==
  
 
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).  
 
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 built with BIOS 6.21.00.13 for C64P target, 'whole_program' profile  
+
|+ BIOS memory example for MSP430, 'whole_program' profile, exp430F5438 platform
 
|-
 
|-
!XDCtools!!config!!big C compile!!partial link!!opt compile!!app build!!Total
+
!XDCtools!!BIOS!!CG Tools!!generating configPkg!!rebuilding configPkg!!big C compile!!partial link!!opt compile!!app build!!Total
 
|- align="center"
 
|- align="center"
! 3.16.02.32
+
!3.20.00.04
|28s||13s||28s||7s||2s||78s
+
|6.21.00.13
 +
|3.2.1
 +
|4s||18s||8s||12s||4s||3s||49s
 
|- align="center"
 
|- align="center"
! 3.20.00.04
+
!3.20.00.39
|20s||13s||28s||7s||2s||70s
+
|6.30.00.21
 +
|3.3.0B2
 +
|4s||22s||8s||13s||4s||3s||54s
 
|}
 
|}
  
<br><br><br><br><br><br><br>
+
<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!!BIOS!!CG Tools!!generating configPkg!!rebuilding configPkg!!big C compile!!partial link!!opt compile!!app build!!Total
 +
|- align="center"
 +
!3.16.02.32
 +
|6.21.00.13
 +
|6.1.12
 +
|3s||27s||14s||30s||7s||2s||83s
 +
|- align="center"
 +
!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) ===
 +
 
 +
{| 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>
 +
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>
 +
 
 
{| cellspacing="1" cellpadding="2" border="1" align="left"
 
{| cellspacing="1" cellpadding="2" border="1" align="left"
 
|+ different configurations, XDCtools 3.20.00.04, 'whole_program' profile
 
|+ different configurations, XDCtools 3.20.00.04, 'whole_program' profile
Line 33: Line 153:
 
|}
 
|}
  
<br><br><br><br><br><br><br>
+
<br><br><br><br><br><br><br><br><br>
  
 
=== Command line tool startup time  ===
 
=== Command line tool startup time  ===
Line 57: Line 177:
 
== Various documents  ==
 
== Various documents  ==
  
[[:Image:Whole program flow.jpg|whole_program build flow]]<br>
+
[[:Image:Whole program flow.jpg|whole_program build flow diagram]]<br>

Latest revision as of 20:58, 21 February 2012

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.

BIOS memory example for MSP430, 'whole_program' profile, exp430F5438 platform
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.

BIOS memory example for C64P, 'whole_program' profile
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)

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
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.



different configurations, XDCtools 3.20.00.04, 'whole_program' profile
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.

command line tools
XDCtools java tconf xs
3.20.00.04 0.41s 0.8s 1.3s





Various documents

whole_program build flow diagram

Back to the top