Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 902

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 902

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 902

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 876

Warning: Invalid argument supplied for foreach() in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 877

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 881

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 876

Warning: Invalid argument supplied for foreach() in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 877

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 881

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 876

Warning: Invalid argument supplied for foreach() in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 877

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 881

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 876

Warning: Invalid argument supplied for foreach() in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 877

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 881

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 902

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 902

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 902
Difference between revisions of "Stm8 code size" - SDCC wiki

Difference between revisions of "Stm8 code size"


Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/project-web/sdcc/htdocs/mediawiki/includes/MagicWord.php on line 902
From SDCC wiki
Jump to: navigation, search
(Created page with "A history of code size in sdcc and a comparison to other compilers. == STM8 code size comparison (bytes): == {| border=1 class="simple" ! File ! Cosmic C² stm8 ! sdcc #xxx...")
 
m
Line 4: Line 4:
 
{| border=1 class="simple"
 
{| border=1 class="simple"
 
! File  
 
! File  
! Cosmic C² stm8  
+
! Cosmic
! sdcc #xxxx stm8
+
! IAR
 +
! sdcc-stm8 #8537
 +
! sdcc #8884³
 
|-  
 
|-  
 
|  cvu_vinb.c  
 
|  cvu_vinb.c  
7
+
'''6'''
x
+
'''6'''
 +
|  15
 +
|  10
 
|-  
 
|-  
 
|  galois_lfsr.c  
 
|  galois_lfsr.c  
21
+
'''15'''
x
+
'''15'''
 +
|  34
 +
|  '''15'''
 
|-  
 
|-  
 
|  get_tile.c  
 
|  get_tile.c  
95
+
89
x
+
87
 +
|  129
 +
|  '''84'''
 
|-  
 
|-  
 
|  huffman_iterative.c  
 
|  huffman_iterative.c  
161
+
'''134'''
x
+
171
 +
|  323
 +
|  162
 
|-  
 
|-  
 
|  huffman_recursive.c  
 
|  huffman_recursive.c  
198
+
'''140'''
x
+
168
 +
|  358
 +
|  174
 
|-  
 
|-  
 
|  init_loop.c  
 
|  init_loop.c  
33
+
'''24'''
x
+
31
 +
|  69
 +
|  28
 
|-  
 
|-  
 
|  insertion_sort.c  
 
|  insertion_sort.c  
108
+
'''92'''
x
+
111
 +
|  247
 +
|  137
 
|-  
 
|-  
 
|  memcpy_compression.c  
 
|  memcpy_compression.c  
31
+
'''43'''
x
+
54
 +
|  93
 +
|  56
 
|-  
 
|-  
 
|  memtovmemcpy.c  
 
|  memtovmemcpy.c  
30
+
'''44'''
x
+
55
 +
|  101
 +
|  51
 
|-  
 
|-  
 
|  play_music.c  
 
|  play_music.c  
393
+
354
x
+
'''290'''
|-
+
721
|  sdcc_divulong.c
+
353
100
+
x
+
 
|-  
 
|-  
 
|  sdcc_mullong.c  
 
|  sdcc_mullong.c  
132
+
'''127'''
x
+
179
 +
|  673
 +
|  348
 
|-  
 
|-  
 
|  set_screen_mode.c  
 
|  set_screen_mode.c  
|  49  
+
'''49'''
x
+
'''49'''
 +
|  75
 +
|  61
 
|-  
 
|-  
 
|  set_sprite_x.c  
 
|  set_sprite_x.c  
66
+
'''55'''
x
+
65
 +
|  152
 +
|  62
 
|-  
 
|-  
 
|  z88dk-mktime.c  
 
|  z88dk-mktime.c  
239
+
221
x
+
'''209'''
 +
|  618
 +
|  347
 
|-  
 
|-  
 
|  total  
 
|  total  
x
+
'''1393'''
x
+
1490
 +
|  3609
 +
|  1888
 
|}
 
|}
  
Line 75: Line 103:
 
The benchmark files can be found at http://colecovision.eu/stuff/testbench.tar.gz
 
The benchmark files can be found at http://colecovision.eu/stuff/testbench.tar.gz
  
² C Compiler for STM8 (COSMIC Software); Generator V4.3.4 - 23 Mar 2010
+
All compilers have been configured for strong optimization for code size.
 +
 
 +
¹ C Compiler for STM8 (COSMIC Software); Generator V4.3.7; Optimizer V4.3.6. Current version as of mid-2013.
 +
 
 +
² IAR C/C++ Compiler V1.40.1.50106 for STM8. Current version as of mid-2013.
  
 +
³ --opt-code-size --max-allocs-per-node 10000000
  
 
This is a list of feature requests, that combined will probably get code size down near to the level of the non-free compilers.
 
This is a list of feature requests, that combined will probably get code size down near to the level of the non-free compilers.

Revision as of 14:17, 26 September 2013

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox