Author Topic: Ways to reduce module build times  (Read 1602 times)

Legacy_Invisig0th

  • Sr. Member
  • ****
  • Posts: 279
  • Karma: +0/-0
Ways to reduce module build times
« Reply #15 on: December 09, 2010, 12:42:57 am »


               Once again, you misunderstood the post. In this specific case, the ONLY way to generate the actual error message was to do a FULL BUILD OF THE MODULE.  That error message led directly to the solution to the problem. Prior to that, neither Axe Murderer or myself was able to solve the problem. So this is one example of a specific situation where a full build of a module was very important.  Anyone who claims that a full build of the module is never useful is quite simply wrong. 

My post was intended to share this first-hand information with the OP -- information which you were apparently not aware of. And that's exactly what I've done.

Please feel free to continue to insist that this kind of thing never happens to anyone, based solely on the fact that you personally have not seen it happen. The people reading this thread will make up their own minds regarding how logical that particular line of reasoning is.
               
               

               


                     Modifié par Invisig0th, 09 décembre 2010 - 01:49 .
                     
                  


            

Legacy_FunkySwerve

  • Hero Member
  • *****
  • Posts: 2325
  • Karma: +0/-0
Ways to reduce module build times
« Reply #16 on: December 09, 2010, 05:41:10 am »


               

Invisig0th wrote...

Once again, you misunderstood the post. In this specific case, the ONLY way to generate the actual error message was to do a FULL BUILD OF THE MODULE. 

No, I'm quite clear on what you're saying. And naturally, the only way to get build errors to appear is to run a build. What I am telling you is something else entirely:

1) that you don't need to get those build errors to tell that a module or toolset is corrupt
2) a corrupted mod or toolset will not necessarily throw a build error, making this an uneven tool at best
3) that there are much quicker ways of determining that a module or toolset is corrupt
and lastly, that, even were 1) through 3) not the case, that:
4) justifying time spent on optimizing builds based on the notion that they can solve obscure and uncommon problems, is silly, because you'll likely spend more time optimizing than you save.

That error message led directly to the solution to the problem. Prior to that, neither Axe Murderer or myself was able to solve the problem. So this is one example of a specific situation where a full build of a module was very important.


That's all well and good - clearly, in that case, it helped you determine the nature of the problem. None of that, however, really refutes 1-4 above. Yes, it helped in that case, but that doesn't mean that there wasn't a faster way of figuring it out, or that it necessarily would've determined the problem. You can dig a hole with a spoon, but that doesn't mean you shouldn't grab a shovel.

  Anyone who claims that a full build of the module is never useful is quite simply wrong. 

I agree. Of course, that's not at all what I'm claiming. I'm claiming it's pretty much always a waste of time. That you could never possibly ever see ANY benefit from doing a mod build is a rediculously easy-to-disprove straw man, which your anecdote did quite handily. It misses the point.

My post was intended to share this first-hand information with the OP -- information which you were apparently not aware of. And that's exactly what I've done.

That may be, since you're right, I didn't know you could dectect a corrupt toolset in that fashion - it never occured to me to waste my time trying it. :happy: You are are also, however,  advocating for the usefulness of the toolset's build option, which, as I and the other posters have noted, is wrongheaded.

Please feel free to continue to insist that this kind of thing never happens to anyone, based solely on the fact that you personally have not seen it happen.

I didn't insist that. In fact, if you bother yourself to read my post, it's happened to me a good deal more than you (you claim one other instance besides the anecdote above, while I've dealt with a dozen or so players and a handful of devs - check back and see). And, as a matter of fact, speak of the devil and he shall appear. It happened to one of my devs today. In this case, it was the module that went corrupt, in a new and wonderous way I'd not seen before. It caused the items icon palette to list merchants instead of items, with no other effects (the merchants were also listed normally under the merchants icon:
Behold!

So, you may ask yourself, how did we set about diagnosing this bizarre, never-before-seen-by-us behavior? He tried loading another module. It displayed the icons normally. He loaded the old one, and they displayed incorrectly. Mystery solved. Time spent diagnosing? Under 5 minutes. He then loaded up a recent backup, replaced the script he'd been working on with a txt backup, and went on his merry way, but not before sending me a copy of the mod - I wanted to put your diagnostic method to the test.

A little over three hours later, I can now report to you, the mod turned up no build errors. In the interests of full disclosure, I DID turn off script compiling, because the feeble bioware compiler chokes on our code (too many declarations), but compiling the scripts using the prc compiler, an improved bioware compiler, yeilded no errors, unsurpisingly. So, there you have it. Time saved by NOT using the build module option to diagnose? Over three hours (it's a big mod, what can I say, only used to take 2 and a quarter, and that's with a fair chunk of resources deposited outside the mod, in resman).

I'd love to hear more details about what kind of corruption a build DOES turn up, and what kind of error it throws - you've been very vague.

Likewise, while you're sharing things I don't know, if you can come up with an example of corruption that takes less time to diagnose with the build module option than other options, by all means, I'd love to see it.  I can understand how it might seem like the way to go when you haven't seen many corrupt modules/toolsets/game installs, and are confused by what the mod/game/toolset is doing, but I  promise, it isn't.

The WORST case diagnostic scenario I can imagine would be doing a full reinstall to check, after having spent 10-15 minutes ruling out all other possibilities (hak order, corrupt mod, etc). I can well imagine a reinstall taking more time for some people than a mod build (not me, with a mod the size of HG), but it, unlike the mod build, is nearly certain to correct any corruption, and you're going to have to do it anyway if that is in fact the problem, so it's a flat-out winning proposition for dealing with corruption, as opposed to wasting a couple hours on a mod build. And, in most cases, you don't need to do the reinstall to figure it out anway.

In my case, I have yet to have to resort to reinstall to check for corruption, since, of the instances I've seen, simply swapping modules to check for a corrupt mod, and swapping the same mod with another builder to check for a corrupt toolset has worked (though 'swapping the same mod' is admittedly a more complex proposition for someone using different set of haks etc, and yes, I've done that too). I'll also admit I used to try leto scans first, since they're quite good at turning up corrupt gffs (and I still do for hunting corrupt bics, though I haven't had to do that for years now), but that is now more a confirming step than anything, if I even bother at all (they're somewhat time consuming, though not nearly so much as a build).

The people reading this thread will make up their own minds regarding how logical that particular line of reasoning is.

Oh, I'm certain they will. '<img'>

Funky
               
               

               


                     Modifié par FunkySwerve, 09 décembre 2010 - 05:45 .
                     
                  


            

Legacy_Invisig0th

  • Sr. Member
  • ****
  • Posts: 279
  • Karma: +0/-0
Ways to reduce module build times
« Reply #17 on: December 12, 2010, 01:43:38 pm »


               The Bioware Aurora Toolset is the executable program we use to edit module files. I explained above that I've been involved in situations where the Bioware Aurora Toolset installation itself becomes corrupt, requiring a reinstallation of the toolset.

Module (.mod) files, on the other hand, are simply data files which we can edit using the toolset.  As it turns out, module files get corrupted rather frequently.

Having a corrupt toolset installation is a fundamentally different problem than having a corrupted module file -- for the same reason that getting an error on a web page does not mean you should reinstall your web browser.

So your anecdotal story of a corrupt module file (a data file) not only proves nothing at all, but it actually turns out to not even be relevant to this discussion. In fact, the only thing you have accomplished with your most recent post is to call into question how much you actually understand about this subject matter. Someone who was knowledgable about these things would certainly not talk about corrupt modules and a corrupt toolset installation as if they were equivalent.

The fact that you persist in claiming that you fully understand specific problems which you have zero actual  experience with (problems which you weren't even aware of prior to this discussion) is self-evidently foolish. I won't be wasting my discussing this with you further.
               
               

               


                     Modifié par Invisig0th, 12 décembre 2010 - 02:50 .
                     
                  


            

Legacy_ffbj

  • Hero Member
  • *****
  • Posts: 1097
  • Karma: +0/-0
Ways to reduce module build times
« Reply #18 on: December 12, 2010, 05:05:54 pm »


               I do a full build once and a while just to see if I've screwed anything up.  Not to get into the specific questions of whether it is useful or not it has been for me.

You can reduce the size of your module by telling it not to copy scripts, or whatever that function selection is called in the toolset.  This will reduce the size of your module quite a bit if you have not already selected it, and subsequently reduce build times.
               
               

               
            

Legacy_FunkySwerve

  • Hero Member
  • *****
  • Posts: 2325
  • Karma: +0/-0
Ways to reduce module build times
« Reply #19 on: December 12, 2010, 05:32:23 pm »


               

Invisig0th wrote...

The Bioware Aurora Toolset is the executable program we use to edit module files. I explained above that I've been involved in situations where the Bioware Aurora Toolset installation itself becomes corrupt, requiring a reinstallation of the toolset.

Module (.mod) files, on the other hand, are simply data files which we can edit using the toolset.  As it turns out, module files get corrupted rather frequently.

Having a corrupt toolset installation is a fundamentally different problem than having a corrupted module file -- for the same reason that getting an error on a web page does not mean you should reinstall your web browser.

Fundamentally different in what relevant way? They both rely on files that can become corrupt, and it's difficult to tell which file without diagnostics of some kind. Yes, an executable is different from a data file, but that rather obvious fact doesn't render corruption of one magically irrelevant to corruption of the other. As I point out above, you can use one to diagnose the other, and figure out which has a file gone bad.

So your anecdotal story of a corrupt module file (a data file) not only proves nothing at all, but it actually turns out to not even be relevant to this discussion.

It proves exactly what I said it proved - that there are faster ways to diagnose corruption. When you get a problem of the kind I described in that anecdote, it can be with either the toolset or the module - there's no prima facie way to know in most cases (in all I've seen, in fact). This is, of course, why we diagnose things. Trying to pretend that, because the corruption happened to be in the module in this instance, that the anecdote has no bearing on diagnosing corruption, is transparently silly.

In fact, the only thing you have accomplished with your most recent post is to call into question how much you actually understand about this subject matter. Someone who was knowledgable about these things would certainly not talk about corrupt modules and a corrupt toolset installation as if they were equivalent.

I agree - no one knowledgeable would claim a corrupt module is 'equivalent' to a corrupt toolset. Of course, I didn't
talk about them as if they were equivalent, just related. They obviously aren't equivalant, for
the reasons you state. Again, you do an excellent job of smacking down something I didn't say. [smilie]../../../images/forum/emoticons/grin.png[/smilie] This leads me to wonder whether you simply aren't understanding the points I'm making, or you're setting up straw men in a attempt to win a losing argument. Likewise, calling my diagnostic chops into question when you've breathed barely a word about how you yourself diagnose corruption, is more than a little silly. All you've revealed of your own know-how is a rather spurious-sounding story about the toolset throwing some unspecified build error once, while I've actually talked about how I've solved these issues in the past, and offered up a concrete example from this very week. Who do you think you're kidding? [smilie]../../../images/forum/emoticons/tongue.png[/smilie]

The fact that you persist in claiming that you fully understand specific problems which you have zero actual  experience with (problems which you weren't even aware of prior to this discussion) is self-evidently foolish. I won't be wasting my discussing this with you further.


Where exactly did I claim to 'fully understand' anything? I've been asking you repeatedly to share what you know - hardly the mark of someone claiming to know it all. I've shared what I know, but you seem unable or unwilling to do likewise. And, if you've read my posts, you know that I have experience wtih the topic, toolset corruption (and the folly of spending time looking for ways to reduce mod build times on the off chance you might be daft enough to actually use the build option, the main topic of this thread, to diagnose said corruption), so I'm not sure where you're getting that notion, or the notion that I somehow wasn't aware of it before your post.

But, since you're claiming an understanding you say I lack, I'll ask again, please, enlighten we heathens. Give us an example of toolset corruption that a build is the fastest way to detect, or one in which you don't have to rule out the module as a possible source of corruption, rendering your remarks about them being unrelated something other than complete nonsense. Or explain why it is that it's worth trying to reduce module build times on the off chance you'll get a corrupted toolset and use a build to diagnose it. Heck, just tell us how you diagnose corruption, other than with a toolset build turning up a mystery error. I showed you mine, show me yours. Sharing knowledge is, after all, the purpose of these forums. No need for all the hostility, bluster, and obfuscation. Anyway, I , like you, am growing tired of this thread, and my point is made, so I won't reply either, unless you have something constructive to say.

Best,
Funky
               
               

               


                     Modifié par FunkySwerve, 12 décembre 2010 - 05:38 .
                     
                  


            

Legacy_Invisig0th

  • Sr. Member
  • ****
  • Posts: 279
  • Karma: +0/-0
Ways to reduce module build times
« Reply #20 on: December 12, 2010, 10:29:39 pm »


               Whatever. Welcome to the BLOCKED list.
               
               

               


                     Modifié par Invisig0th, 12 décembre 2010 - 10:41 .
                     
                  


            

Legacy_FunkySwerve

  • Hero Member
  • *****
  • Posts: 2325
  • Karma: +0/-0
Ways to reduce module build times
« Reply #21 on: December 12, 2010, 11:40:08 pm »


               

You can reduce the size of your module by telling it not to copy scripts, or whatever that function selection is called in the toolset.  This will reduce the size of your module quite a bit if you have not already selected it, and subsequently reduce build times.

Sorry, didn't notice this earlier. I think you're referring to turning off debug info, which is always a good idea, build times or no, since it increases the size of the module a fair bit, increasing upload and download times.

Funky
               
               

               
            

Legacy_Avonos the Rogue

  • Jr. Member
  • **
  • Posts: 70
  • Karma: +0/-0
Ways to reduce module build times
« Reply #22 on: December 13, 2010, 10:06:48 am »


               

Invisig0th wrote...

Whatever. Welcome to the BLOCKED list.


Really?  I mean really?  C'mon now you can talk through this one, I'm sure of it.
               
               

               
            

Legacy_ffbj

  • Hero Member
  • *****
  • Posts: 1097
  • Karma: +0/-0
Ways to reduce module build times
« Reply #23 on: December 13, 2010, 04:56:35 pm »


               Yes the debug mode is what I meant.  Just since no-one mentioned it before and module size effects load times.
               
               

               
            

Legacy_Lazarus Magni

  • Hero Member
  • *****
  • Posts: 1837
  • Karma: +0/-0
Ways to reduce module build times
« Reply #24 on: June 17, 2011, 09:14:00 pm »


               

FunkySwerve wrote...

You can reduce the size of your module by telling it not to copy scripts, or whatever that function selection is called in the toolset. This will reduce the size of your module quite a bit if you have not already selected it, and subsequently reduce build times.

Sorry, didn't notice this earlier. I think you're referring to turning off debug info, which is always a good idea, build times or no, since it increases the size of the module a fair bit, increasing upload and download times.

Funky


To turn off debug mode in the toolset do you have to add a line:Debug Mode=0 to the nwntoolset.ini? Or to the nwnplayer.ini? Or how is this done?
               
               

               


                     Modifié par Lazarus Magni, 17 juin 2011 - 08:14 .
                     
                  


            

Legacy_Lightfoot8

  • Hero Member
  • *****
  • Posts: 4797
  • Karma: +0/-0
Ways to reduce module build times
« Reply #25 on: June 17, 2011, 09:30:30 pm »


               Open the script editor.  Click on the Options button  (the last Icon at the top).

Make sure the Compile with debug check box is not selected.
               
               

               
            

Legacy_Lazarus Magni

  • Hero Member
  • *****
  • Posts: 1837
  • Karma: +0/-0
Ways to reduce module build times
« Reply #26 on: June 17, 2011, 09:37:22 pm »


               You mean the "Generate Debug Information When Compiling Scripts" box I take it? If that's the case dang, as I already have that not checked, and am struggling trying to reduce the number of resources in a mod. This is off topic, but anyone have any ideas on how to do that?
               
               

               
            

Legacy_Ryuhi2000

  • Full Member
  • ***
  • Posts: 159
  • Karma: +0/-0
Ways to reduce module build times
« Reply #27 on: June 17, 2011, 09:50:09 pm »


               it is off topic but i would say start porting your resources into at least 1 hak file

Lazarus Magni wrote...

You mean the "Generate Debug Information When Compiling Scripts" box I take it? If that's the case dang, as I already have that not checked, and am struggling trying to reduce the number of resources in a mod. This is off topic, but anyone have any ideas on how to do that?


               
               

               
            

Legacy_Lazarus Magni

  • Hero Member
  • *****
  • Posts: 1837
  • Karma: +0/-0
Ways to reduce module build times
« Reply #28 on: June 17, 2011, 10:05:17 pm »


               The PW in question has always been HAK free (with the exception of CEP), and I would really like to keep it that way.
               
               

               
            

Legacy_Lightfoot8

  • Hero Member
  • *****
  • Posts: 4797
  • Karma: +0/-0
Ways to reduce module build times
« Reply #29 on: June 17, 2011, 10:32:58 pm »


               Then port them into the cep custom hak.