AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   When to use global variables? (https://forums.alliedmods.net/showthread.php?t=47035)

Drak 11-07-2006 19:16

When to use global variables?
 
Doesn't global variables take up a lot more memory then local ones to?
For example:
Code:
#include <amxmodx> #include <amxmisc> #define MAX_LIMIT 100 new gMax_limit  = MAX_LIMIT public plugin_init() {      register_plugin("Somthing","Something","Sure") } public a_function(id) {      client_print(id,print_chat,"Max limit is: %i", gMax_limit) }

Would it be better to register the variable in the function 'a_function' ?

SweatyBanana 11-07-2006 19:20

Re: When to use global variables?
 
Global variables are stored in memory throughout the existance of the plugin. (meaning until plugin_end I think, could be till the comp is turned off), so a global variable is better for using something many times because you are calling the same spot in memory over and over instead of creating new spots in memory every time you create a new variable.

So yes, if you are only using the variable once, make it within your function.

The Specialist 11-07-2006 19:29

Re: When to use global variables?
 
yes local veriables = only using once

global variables = more then once

stock varaibles = can be passed by compiler if not used :up:

Hawk552 11-07-2006 20:00

Re: When to use global variables?
 
Quote:

Originally Posted by SixTwin (Post 400967)
Doesn't global variables take up a lot more memory then local ones to?
For example:
Code:
#include <amxmodx> #include <amxmisc> #define MAX_LIMIT 100 new gMax_limit = MAX_LIMIT

public plugin_init() { register_plugin("Somthing","Something","Sure") } public a_function(id) { client_print(id,print_chat,"Max limit is: %i", gMax_limit) }



Would it be better to register the variable in the function 'a_function' ?

Totally wrong, they take up the same amount of memory.

Global variables are much faster though, as they're not deleted/created/filled each time they're needed.

Like SweatyBanana said, however, the storage is retained throughout the plugin's execution (clearing it impossible, even setting it to 0 leaves it as unusable to other applications).


All times are GMT -4. The time now is 06:52.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.