Since acknex.exe is an interpreter(or sort of it)
An interpreter takes longer time to calculate the array(More Instructions)
Whereas a pointer wud just be an malloc and done.
From my experience of developing AC Interpreter.
It might be different on a compiled executable becaz indexing,etc of arrays are done while compiling.
I had experimented with a compiled program before
Object Code Comparsion:
temp = a[i];
mov eax, DWORD PTR _i
mov ecx, DWORD PTR _a[eax*4]
mov DWORD PTR _temp, ecx
temp = *p;
mov eax, DWORD PTR _p
mov ecx, DWORD PTR [eax]
mov DWORD PTR _temp, ecx
Compiled Apps make lest difference or no difference but in interpreters arrays and pointers make a lot of difference