Posted by: devSin
« on: May 24, 2005, 01:04:52 AM »Quote
If this academia thing doesn't work out I would appear to have a promising career in remote debugging.Omniscient QA Technician does sound quite nice. :-) I'll always be hoping for professor, though (you can give out WeiDU assignments for extra credit :-D).
Quote
I wouldn't have bothered to convert to it, but once you've converted I wouldn't bother to convert back (except for the first line in a block until I post the update, I guess). Minor syntax changes don't really make parsing/lexing any faster. They just make writing new code faster.It was a simple grep find/replace that took all of 10 seconds, and I prefer consistency over convenience (if the .= operators had been in WeiDU since day one, I'd have been using them; since they're here now, I'll be using them, so might as well use them everywhere). I was actually editing the wrong copy of the TP2 (the installation TP2 in the BG2 directory), so I did still have the old x=x+y and didn't have to change everything back (or add SET STRING PLUS_EQUALS blah blah to the source).
The new timings with the STRING_SET block and separate TRB:
Code: [Select]
WeiDU Timings
MKDIR 0.000
PATCH_PRINT 0.000
AT_* 0.000
load TLK 0.000
process copy_trans 0.000
APPEND_COL 0.000
postprocess .D actions 0.000
parsing .log files 0.000
preprocess APPEND_EARLY 0.000
ADD_PROJECTILE 0.017
process .D files 0.017
<<<<<<<< 0.033
unmarshal compressed BIFF 0.033
process .D actions 0.033
resolve labels 0.050
resolve strings 0.083
preprocess .D actions 0.100
unmarshal BIFF 0.100
parsing .ids files 0.133
APPEND 0.217
parsing .trb files 0.250
push_copy_trans 0.267
BUT_ONLY 0.267
unmarshal KEY 0.550
find local string 0.667
marshal and save TLK 0.750
marshal DLG 0.933
unmarshal TLK 1.200
unmarshal DLG 1.250
parsing .d files 1.600
READ_* 2.067
eval_pe 3.850
STRING_SET 4.467
COPY 5.333
parsing .baf files 6.317
loading files 8.233
process_patch2 8.650
COMPILE 16.967
saving files 22.283
parsing .tp2 files 25.617
TOTAL 112.333
Very substantial. Once the initial TP2 parse is out of the way, it's now smooth sailing all the way through. Thanks for your attention to this today, it's very much appreciated (under 2 minute install times!) Down from 625.733 in v178 to 243.600 in v179 to 183.317 in v180+, and finally to 112.333 (shaving off an additional 70/80 seconds in a day is not bad at all).Quote
push_copy_trans 0.267These numbers gravitate upward when the script strings are moved to a separate file and COMPILE ~list~ USING ~tra~. The current values I have are 0.333 / 17.550, which is a little much for normal variation (although still possible, these are pretty much the only times on a "clean" run that differ from the original install). I imagine I'm grabbing the overhead of loading the new scripts TRB for the COMPILE commands for all of 19 strings (this would probably be especially true if the TRB is loaded for each file in a multi-file COMPILE action), or something (hopefully not having WeiDU snatch out the @s in the scripts). I think I'll convert the runtime messages to just generic string constants (cutting the TRB out for all the PRINTs), which should reduce the number of strings by ~80, and just let the COMPILE actions use the global TRB.
COMPILE 16.967