Difference between revisions of "Stm8 code size"

From SDCC wiki
Jump to: navigation, search
m
m (typo)
 
(One intermediate revision by one user not shown)
Line 6: Line 6:
 
! Cosmic C¹
 
! Cosmic C¹
 
! IAR C²
 
! IAR C²
! sdcc-stm8 #8537
+
! sdcc 3.4.0³
! sdcc #8884³
+
 
|-  
 
|-  
 
|  cvu_vinb.c  
 
|  cvu_vinb.c  
 
|  '''6'''
 
|  '''6'''
 
|  '''6'''
 
|  '''6'''
|  15
 
 
|  10
 
|  10
 
|-  
 
|-  
 
|  galois_lfsr.c  
 
|  galois_lfsr.c  
'''15'''
+
|  15
'''15'''
+
|  15
|  34
+
|  '''12'''
|  '''15'''
+
 
|-  
 
|-  
 
|  get_tile.c  
 
|  get_tile.c  
 
|  89
 
|  89
 
|  87
 
|  87
|  129
+
|  '''82'''
|  '''84'''
+
 
|-  
 
|-  
 
|  huffman_iterative.c  
 
|  huffman_iterative.c  
 
|  '''134'''
 
|  '''134'''
 
|  171
 
|  171
|  323
 
 
|  162
 
|  162
 
|-  
 
|-  
Line 36: Line 31:
 
|  '''140'''
 
|  '''140'''
 
|  168
 
|  168
|  358
 
 
|  174
 
|  174
 
|-  
 
|-  
Line 42: Line 36:
 
|  '''24'''
 
|  '''24'''
 
|  31
 
|  31
69
+
27
|  28
+
 
|-  
 
|-  
 
|  insertion_sort.c  
 
|  insertion_sort.c  
 
|  '''92'''
 
|  '''92'''
 
|  111
 
|  111
|  247
 
 
|  137
 
|  137
 
|-  
 
|-  
Line 54: Line 46:
 
|  '''43'''
 
|  '''43'''
 
|  54
 
|  54
|  93
 
 
|  56
 
|  56
 
|-  
 
|-  
Line 60: Line 51:
 
|  '''44'''
 
|  '''44'''
 
|  55
 
|  55
|  101
 
 
|  51
 
|  51
 
|-  
 
|-  
Line 66: Line 56:
 
|  354
 
|  354
 
|  '''290'''
 
|  '''290'''
721
+
352
|  353
+
 
|-  
 
|-  
 
|  sdcc_mullong.c  
 
|  sdcc_mullong.c  
 
|  '''127'''
 
|  '''127'''
 
|  179
 
|  179
673
+
352
|  348
+
 
|-  
 
|-  
 
|  set_screen_mode.c  
 
|  set_screen_mode.c  
 
|  '''49'''
 
|  '''49'''
 
|  '''49'''
 
|  '''49'''
|  75
 
 
|  61
 
|  61
 
|-  
 
|-  
Line 84: Line 71:
 
|  '''55'''
 
|  '''55'''
 
|  65
 
|  65
152
+
57
|  62
+
 
|-  
 
|-  
 
|  z88dk-mktime.c  
 
|  z88dk-mktime.c  
 
|  221
 
|  221
 
|  '''209'''
 
|  '''209'''
|  618
 
 
|  347
 
|  347
 
|-  
 
|-  
Line 96: Line 81:
 
|  '''1393'''
 
|  '''1393'''
 
|  1490
 
|  1490
3609
+
1880
|  1888
+
 
|}
 
|}
  
Line 109: Line 93:
 
² IAR C/C++ Compiler V1.40.1.50106 for STM8. 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
+
³ Compiler options --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.

Latest revision as of 17:27, 17 April 2014

A history of code size in sdcc and a comparison to other compilers.

[edit] STM8 code size comparison (bytes):

File Cosmic C¹ IAR C² sdcc 3.4.0³
cvu_vinb.c 6 6 10
galois_lfsr.c 15 15 12
get_tile.c 89 87 82
huffman_iterative.c 134 171 162
huffman_recursive.c 140 168 174
init_loop.c 24 31 27
insertion_sort.c 92 111 137
memcpy_compression.c 43 54 56
memtovmemcpy.c 44 55 51
play_music.c 354 290 352
sdcc_mullong.c 127 179 352
set_screen_mode.c 49 49 61
set_sprite_x.c 55 65 57
z88dk-mktime.c 221 209 347
total 1393 1490 1880


The benchmark files can be found at http://colecovision.eu/stuff/testbench.tar.gz

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.

³ Compiler options --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.

Request ID Summary
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox