sprinter-cc: --max-allocs 100000 по умолчанию для пользовательского кода
Тот же приём, что во fast-библиотеках (786836e): агрессивная
регистровая аллокация SDCC. --max-allocs N переопределяет (меньшее
значение = быстрее компиляция).
Замер (47 программ): mdview -235, banklocl -149, fbench -110,
filetest -90, ls -81, solidt -69 и т.д.; 4 микро-роста (+1..+12 —
другие развязки аллокатора, шум). Полная сборка ~2 мин -> ~4:15.
MAME: filetest/bgitest/seek (с big.txt, скриншот пользователя) зелёные.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+8
-4
@@ -34,9 +34,9 @@
|
||||
# --bank N=FILE.c compile FILE.c as bank N; repeatable; pulls crt0_banked
|
||||
# automatically and adds -Wl-b_BANKN=0x{N}C000
|
||||
# --mkexe FLAG extra mkexe flag (repeatable; e.g. --mkexe -p --mkexe 0)
|
||||
# --max-allocs N SDCC --max-allocs-per-node (default: SDCC's 3000).
|
||||
# Higher values give smaller/faster code at the cost of
|
||||
# compile time; 10000..100000 is a reasonable range.
|
||||
# --max-allocs N SDCC --max-allocs-per-node (default: 100000 — smaller/
|
||||
# faster code at the cost of compile time; pass a lower
|
||||
# value, e.g. SDCC's own default 3000, to compile faster).
|
||||
# --debug enable runtime diagnostics — defines DEBUG_RT for both
|
||||
# sdcc (-DDEBUG_RT) and the crt0 assembly (prepended
|
||||
# `DEBUG_RT = 1`). Exposes runtime introspection symbols
|
||||
@@ -88,7 +88,11 @@ SOURCES=()
|
||||
LD_EXTRA=()
|
||||
MKEXE_EXTRA=()
|
||||
BANK_SPECS=() # entries like "1=engine.c"
|
||||
MAX_ALLOCS="" # if set, passed to sdcc as --max-allocs-per-node
|
||||
MAX_ALLOCS="100000" # sdcc --max-allocs-per-node; дефолт 100000 — агрессивная
|
||||
# регистровая аллокация (медленнее компиляция, меньше/
|
||||
# быстрее код; как fast-сборки библиотек). --max-allocs N
|
||||
# переопределяет (например 3000 = дефолт SDCC для скорости
|
||||
# компиляции).
|
||||
GFX_MODE="" # "256" → link BGI graphics.h driver sprinter_gfx256.lib
|
||||
SAFE_LIBS=0 # if 1, prefer *_safe.lib variants (fallback to standard)
|
||||
|
||||
|
||||
+32
-32
@@ -1,48 +1,48 @@
|
||||
# Эталон размеров _CODE (байт); обновление: python3 toolchain/size_check.py --update
|
||||
accfill 3820
|
||||
accfill 3772
|
||||
argv 3431
|
||||
assrtest 3847
|
||||
attrprob 4088
|
||||
attrprob 4087
|
||||
banked 1056
|
||||
bankedbg 1067
|
||||
banklocl 4832
|
||||
banklocl 4683
|
||||
banktest 3767
|
||||
bgi_img 6233
|
||||
bgi_img 6222
|
||||
bgitest 3737
|
||||
bios_text 4460
|
||||
cat 915
|
||||
cblstream 6224
|
||||
cbltest 6354
|
||||
cblwav 6431
|
||||
conio 4631
|
||||
conio2 3954
|
||||
bios_text 4461
|
||||
cat 913
|
||||
cblstream 6217
|
||||
cbltest 6366
|
||||
cblwav 6434
|
||||
conio 4605
|
||||
conio2 3929
|
||||
dec_test 860
|
||||
errno 5966
|
||||
fbench 8195
|
||||
fdmax 6050
|
||||
filetest 10637
|
||||
fbench 8085
|
||||
fdmax 6023
|
||||
filetest 10547
|
||||
gets 509
|
||||
gfx_dbuf 5062
|
||||
gfx_demo 4113
|
||||
gfx_dbuf 5032
|
||||
gfx_demo 4103
|
||||
hello 4167
|
||||
hello2 4244
|
||||
irqtest 5853
|
||||
ls 4916
|
||||
malloc 4462
|
||||
mdview 19113
|
||||
irqtest 5850
|
||||
ls 4835
|
||||
malloc 4461
|
||||
mdview 18878
|
||||
mdview2 27031
|
||||
mem_test 4556
|
||||
mouse 4384
|
||||
openenv 6127
|
||||
ptime 5768
|
||||
rt_test 4905
|
||||
seek 4177
|
||||
simple 960
|
||||
solidt 11600
|
||||
stattest 7583
|
||||
mem_test 4555
|
||||
mouse 4382
|
||||
openenv 6124
|
||||
ptime 5744
|
||||
rt_test 4892
|
||||
seek 4188
|
||||
simple 955
|
||||
solidt 11531
|
||||
stattest 7549
|
||||
stdlib 6643
|
||||
stest2 3644
|
||||
strtest 1340
|
||||
text_palette 5036
|
||||
timedir 5471
|
||||
winrest 4479
|
||||
text_palette 5024
|
||||
timedir 5454
|
||||
winrest 4459
|
||||
|
||||
|
Reference in New Issue
Block a user