Hi,
I'm surprised at the cost of declaring arrays in GLSL programs.
The array doesn't need to be initialized, all I do is write to a random element and read from the same one (so the array can't be optimized out by the compiler). Simply declaring a larger array causes a significant slowdown, which seems to increase linearly with size.

I would quite like to know why this happens. What is the GPU doing which takes longer? Are there any tricks to circumventing this (the array cannot be constant/uniform buffer)?