As you may know, GameMaker natively supports only 2-dimensional arrays with size up to 32000x32000.
However, in some cases, you may want to use arrays with 3 (or more) dimensions.
Small comparison table with descriptions below:
| Stat\Method | array:offset | array:instance | ds_grid's | ds_map | 
| Init (fill-up) | Slow | Slow | Fast | Slowest | 
| Access (i/o) | Fast | Fast | Average | Average | 
| Size limit | ~109 cells | 32k/dimension | Resizable | No | 
| Index | Integer | Integer | Integer | String | 
| Existance check | No | No | Not needed | Yes | 
| Region operations | No | No | Yes | Only clearing | 
| References | No | Partial (layer) | Yes | Yes | 
 


