I know the question sounds silly, but consider this: I have an array of ints
(1..N) and a labelling algorithm. at any point the item the int
represents is in one of three states. The current version holds these states in a byte
array, where 0, 1 and 2 represent the three states. alternatively, I could have three arrays of boolean
- one for each state. which is better (consumes less memory) depends on how jvm (sun's version) stores the arrays - is a boolean represented by 1 bit? is there any other magic happening behind the scenes? (p.s. don't start with all that "this is not the way OO/Java works" - I know, but here performance comes in front. plus the algorithm is simple and perfectly readable even in such form).
Thanks a lot