Maybe if those are used daily. But I have literally hundreds of global variables that are counted and updated once per year, and it doesn't cause any kind of noticeable slowdown. Don't be worried about using them in moderation.
Here's the basic code that I use for counting:
Code:
set_variable = { which = global_just value = 0 }
any_character = {
limit = {
trait = just
}
change_variable = { which = global_just value = 1 }
}
log = "Just: [global_just.GetValue]"
Just replace the trait parts with whichever conditional you need to count.
Among other things, I've been using global variables to check how often the events get run. Which is absolutely priceless for debugging: I've found plenty of events that get ran far too often (no wonder vanilla is so slow) and some that don't get run at all because of broken triggers...