Speeding up array lookup after traversing?
I have a 123MB big int array, and it is basically used like this: private static int[] data = new int[32487834]; static int eval(int[] c) { int p = data[c[0]]; p = data[p + c[1]]; p = data[p + c[2]]; p = data[p + c[3]]; p = data[p + c[4]]; p = data[p + c[5]]; return data[p + c[6]]; } eval() is called a lot (~50B times) with different c and I would like to know if (and how) I could speed it up. I already use a unsafe function with an fixed array that makes use of all the CPUs. It's a C# port of the TwoPlusTwo 7 card evaluator by RayW . The C++ version is insignificantly faster. Can the GPU be