.qc (dot qc) - the group for quake c coders of all denominations. If you make quake one mods and write code in quake c, join our group! I'll try to answer any quake c questions - please post your inquiry in the forums...

Forum Thread
  Posts  
qc++ update (Groups : qc : Forum : discuss() : qc++ update) Locked
Thread Options
numbersix
numbersix quake-c coder++
Jan 12 2016 Anchor

Some recent compile stats.
These come from twiddling all the #define compile options in compiler.qc
(After I fixed all the bug creep since I have not tested this in some time...)

	--- compile stats ---

016.1.11:

everything turned off			- there are no monsters, this is the most optimal sequence

 32744 strofs (of 1000000)
 10338 numstatements (of 524288)
   402 numfunctions (of 16384)
  1567 numglobaldefs (of 32768)
   214 numfielddefs (191 unique) (of 2048)
  1721 numpr_globals (of 65536)
Writing progs.dat
151184 TOTAL SIZE
Writing progs.lno
 50 unique precache_models
Compile Complete

optres_shortenifnots 112
optres_overlaptemps 5546
optres_constantarithmatic 33
optres_nonvec_parms 1515
optres_assignments 226
optres_unreferenced 10
numtemps 103
54 warnings


qc++ turned on		(from base)

 32744 strofs (of 1000000)
 10338 numstatements (of 524288)
   402 numfunctions (of 16384)
  1567 numglobaldefs (of 32768)
   214 numfielddefs (191 unique) (of 2048)
  1721 numpr_globals (of 65536)
Writing progs.dat
151184 TOTAL SIZE
Writing progs.lno
 50 unique precache_models
Compile Complete

optres_shortenifnots 112
optres_overlaptemps 5546
optres_constantarithmatic 33
optres_nonvec_parms 1515
optres_assignments 226
optres_unreferenced 10
numtemps 103
54 warnings


opgrade turned on		(from base)
- requires local_ent support

 29424 strofs (of 1000000)
 10237 numstatements (of 524288)
   398 numfunctions (of 16384)
  1547 numglobaldefs (of 32768)
   214 numfielddefs (191 unique) (of 2048)
  1692 numpr_globals (of 65536)
Writing progs.dat
146636 TOTAL SIZE
Writing progs.lno
 50 unique precache_models
Compile Complete

optres_shortenifnots 113
optres_overlaptemps 5573
optres_constantarithmatic 35
optres_nonvec_parms 1443
optres_assignments 228
optres_unreferenced 10
numtemps 92


xvars turned on		(from base)

 32820 strofs (of 1000000)
 10468 numstatements (of 524288)
   402 numfunctions (of 16384)
  1570 numglobaldefs (of 32768)
   214 numfielddefs (191 unique) (of 2048)
  1725 numpr_globals (of 65536)
Writing progs.dat
152340 TOTAL SIZE
Writing progs.lno
 50 unique precache_models
Compile Complete

optres_shortenifnots 112
optres_overlaptemps 5572
optres_constantarithmatic 33
optres_nonvec_parms 1545
optres_assignments 226
optres_unreferenced 10
numtemps 104
54 warnings



quake monsters turned on		(from base)

 44520 strofs (of 1000000)
 18655 numstatements (of 524288)
   628 numfunctions (of 16384)
  2125 numglobaldefs (of 32768)
   215 numfielddefs (192 unique) (of 2048)
  2372 numpr_globals (of 65536)
Writing progs.dat
244708 TOTAL SIZE
Writing progs.lno
 69 unique precache_models
Compile Complete

optres_shortenifnots 137
optres_overlaptemps 9876
optres_constantarithmatic 157
optres_nonvec_parms 3211
optres_assignments 285
optres_unreferenced 14
numtemps 151
75 warnings


frikbot turned on		(from base)
- requires local_ent support

 43108 strofs (of 1000000)
 17181 numstatements (of 524288)
   527 numfunctions (of 16384)
  2397 numglobaldefs (of 32768)
   275 numfielddefs (246 unique) (of 2048)
  2549 numpr_globals (of 65536)
Writing progs.dat
231232 TOTAL SIZE
Writing progs.lno
 50 unique precache_models
Compile Complete

optres_shortenifnots 187
optres_overlaptemps 9370
optres_constantarithmatic 38
optres_nonvec_parms 2228
optres_assignments 562
optres_unreferenced 14
numtemps 143
54 warnings


hipnotic turned on		(from base)
- requires local_ent support

 56724 strofs (of 1000000)
 24050 numstatements (of 524288)
   718 numfunctions (of 16384)
  2753 numglobaldefs (of 32768)
   272 numfielddefs (243 unique) (of 2048)
  3000 numpr_globals (of 65536)
Writing progs.dat
311304 TOTAL SIZE
Writing progs.lno
 65 unique precache_models
Compile Complete

optres_shortenifnots 217
optres_overlaptemps 14182
optres_constantarithmatic 98
optres_nonvec_parms 3339
optres_assignments 595
optres_unreferenced 35
numtemps 193
70 warnings


most stuff - no bots, no map_hack

 62100 strofs (of 1000000)
 32439 numstatements (of 524288)
   944 numfunctions (of 16384)
  3213 numglobaldefs (of 32768)
   273 numfielddefs (244 unique) (of 2048)
  3526 numpr_globals (of 65536)
Writing progs.dat
397720 TOTAL SIZE
Writing progs.lno
 84 unique precache_models
Compile Complete

optres_shortenifnots 244
optres_overlaptemps 18623
optres_constantarithmatic 228
optres_nonvec_parms 4955
optres_assignments 654
optres_unreferenced 37
numtemps 218
86 warnings


qc++ everything to date		- 016.1.11

 80964 strofs (of 1000000)
 46717 numstatements (of 524288)
  1215 numfunctions (of 16384)
  4489 numglobaldefs (of 32768)
   379 numfielddefs (343 unique) (of 2048)
  4857 numpr_globals (of 65536)
Writing progs.dat
556944 TOTAL SIZE
Writing progs.lno
 93 unique precache_models
Compile Complete

optres_shortenifnots 345
optres_overlaptemps 26522
optres_constantarithmatic 293
optres_nonvec_parms 6994
optres_assignments 1140
optres_unreferenced 48
numtemps 300
96 warnings

I include the next 2 for reference - original release v1.0.6 and the last archon beta compiles.



v106.0		(original release)

 88540 strofs (of 1000000)
 20507 numstatements (of 524288)
  2091 numfunctions (of 16384)
  4290 numglobaldefs (of 32768)
   218 numfielddefs (195 unique) (of 2048)
  4327 numpr_globals (of 65536)
Writing ../progs.dat
381432 TOTAL SIZE
Writing ../progs.lno
225 unique precache_sounds
 95 unique precache_models
104 unique precache_files
Compile Complete

optres_shortenifnots 115
optres_overlaptemps 7237
optres_constantarithmatic 17
optres_nonvec_parms 3898
optres_assignments 408
optres_unreferenced 68
optres_dupconstdefs 101
numtemps 117
13 warnings


archon 1.2 beta

359556 strofs (of 1000000)
171474 numstatements (of 524288)
  5329 numfunctions (of 16384)
 17817 numglobaldefs (of 32768)
   580 numfielddefs (538 unique) (of 2048)
 18897 numpr_globals (of 65536)
Writing progs.dat
2146144 TOTAL SIZE
Writing progs.lno
645 unique precache_sounds
569 unique precache_models
104 unique precache_files
Compile Complete

optres_shortenifnots 1523
optres_overlaptemps 80088
optres_constantarithmatic 912
optres_nonvec_parms 23889
optres_assignments 4763
optres_unreferenced 74
optres_dupconstdefs 160
numtemps 811
233 warnings

More updates to follow.


I will likely put together a numeric comparison chart for further reference and establish the cost of various code segments.

Note: compiled with fteqcc 1.0, no optimize switches used.

Reply to thread
click to sign in and post

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.