Staredit Network > Forums > SC1 UMS Mapmaking Assistance > Topic: Setting flag versus matching exact conditions
Setting flag versus matching exact conditions
May 12 2014, 12:38 am
By: sethmachine  

May 12 2014, 12:38 am sethmachine Post #1



Hi,

I think the title is vague (apologies, didn't know what to call this).

Consider this case where, once determined, the value of some predicate P (true or false) is set permanently. In our case predicates are some chains of conjunctions/disjunctions of Starcraft conditions.

In any case, is it more efficient to:

1. Have a single trigger that detects P's value, then stores this in a boolean variable.

2. Triggers which need to know P's valuation now reference this boolean instead of testing all of P's valuations.

Or

1. Triggers which need to know P's valuations always test them as part of their conditions.

I am figuring that the former case is probably more efficient, but in any case, is it the norm for SC mapmaking (or coding in general)?



None.

May 12 2014, 12:49 am Roy Post #2

An artist's depiction of an Extended Unit Death

You're thinking on an efficiency level that doesn't matter for most maps, so if performance isn't an issue, I wouldn't bother increasing the complexity of your triggers.

That being said, checking the value of a switch / death counter is much more efficient than checking certain conditions, such as the Bring condition (which is notorious for causing performance issues on large-scale maps).

It's always wise to order your conditions so that switches come first, followed by simple numerical comparisons (like death counters or accumulated resources), followed by the other, more complicated conditions.

For coding in general, your suggestion is a form of caching or maintaining state, where computing a result once and storing it can be much more efficient than computing the value repetitively. However, for a lot of higher-level languages, this is unnecessary, as the compiler will optimize it for you (e.g., you can say "1000 * 60 * 60 * 5" as means of calculating 5 hours from milliseconds, and the compiler will convert this to a constant value rather than do the multiplication every time).




Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[03:55 pm]
Zoan -- :wob:
[10:34 am]
NudeRaider -- SEN doesn't rely on spammers initiate its sleep cycle. It hat fully automated rest and clean-up phases. Please understand that this is necessary for the smooth operation of the site. Thank you.
[03:45 am]
Sylph-Of-Space -- Does the shoutbox get disabled when there's spammers?
[2024-5-17. : 6:47 am]
NudeRaider -- lil-Inferno
lil-Inferno shouted: nah
strong
[2024-5-17. : 5:41 am]
Ultraviolet -- 🤔 so inf is in you?
[2024-5-17. : 4:57 am]
O)FaRTy1billion[MM] -- my name is mud
[2024-5-17. : 4:35 am]
Ultraviolet -- mud, meet my friend, the stick
[2024-5-16. : 10:07 pm]
lil-Inferno -- nah
[2024-5-16. : 8:36 pm]
Ultraviolet -- Inf, we've got a job for you. ASUS has been very naughty and we need our lil guy to go do their mom's to teach them if they fuck around, they gon' find out
[2024-5-16. : 5:25 pm]
NudeRaider -- there he is, right on time! Go UV! :D
Please log in to shout.


Members Online: Roy