Having been a user of tcc in it's various manifestations since 4dos days, I was a believer in the "BTM files are faster than BAT files" mantra.
But a few nagging doubts led me to test TT.BAT, a script of 5000+ lines.
I ran this with two tcc versions:
TCC 23.00.25 x64 Windows 10 [Version 10.0.17763.557]
TCC 17.00.77 x64 Windows 8.1 [Version 6.3.17763]
(both are actually on the same Windows 10 machine)
I ran each version in two modes:
loadbtm OFF
loadbtm ON
With the results, sorted by elapsed time:
loadbtm OFF TCC 23 Timer 1 off: 06:06:10 Elapsed: 0:00:01,73
loadbtm OFF TCC 17 Timer 1 off: 06:30:26 Elapsed: 0:00:07,30
loadbtm ON TCC 23 Timer 1 off: 05:44:20 Elapsed: 0:00:17,43
loadbtm ON TCC 17 Timer 1 off: 06:33:29 Elapsed: 0:00:32,34
TCC 23 is impressively faster than 17, but dwarfed by the loadbtm anomaly.
Addition testing showed:
1. In the absence of an explicit loadbtm, the file suffix (.BAT or .BTM) is the deciding factor.
2. Commands taking the most time are:
gosub
iff islabel ...
Since these results appear to contradict any documentation I could find, such as:
TCC > Commands > LOADBTM
google for: BTM "slower" than BAT site:jpsoft.com
the chances should be high that I have made some mistake, such as not knowing the difference between OFF and ON.
I therefore await a compassionate explanation, or vindication, with equal interest.
But a few nagging doubts led me to test TT.BAT, a script of 5000+ lines.
I ran this with two tcc versions:
TCC 23.00.25 x64 Windows 10 [Version 10.0.17763.557]
TCC 17.00.77 x64 Windows 8.1 [Version 6.3.17763]
(both are actually on the same Windows 10 machine)
I ran each version in two modes:
loadbtm OFF
loadbtm ON
With the results, sorted by elapsed time:
loadbtm OFF TCC 23 Timer 1 off: 06:06:10 Elapsed: 0:00:01,73
loadbtm OFF TCC 17 Timer 1 off: 06:30:26 Elapsed: 0:00:07,30
loadbtm ON TCC 23 Timer 1 off: 05:44:20 Elapsed: 0:00:17,43
loadbtm ON TCC 17 Timer 1 off: 06:33:29 Elapsed: 0:00:32,34
TCC 23 is impressively faster than 17, but dwarfed by the loadbtm anomaly.
Addition testing showed:
1. In the absence of an explicit loadbtm, the file suffix (.BAT or .BTM) is the deciding factor.
2. Commands taking the most time are:
gosub
iff islabel ...
Since these results appear to contradict any documentation I could find, such as:
TCC > Commands > LOADBTM
google for: BTM "slower" than BAT site:jpsoft.com
the chances should be high that I have made some mistake, such as not knowing the difference between OFF and ON.
I therefore await a compassionate explanation, or vindication, with equal interest.