Question: I moved from using the Flex Builder 3 IDE to Flash Builder a couple weeks ago and have noticed a ridiculous jump in compile times with the same project. It almost seems like every time I build it does a clean build. The project I am working with is pretty big, but when it takes more than 4 mins to build, something is wrong. I tried adding more memory to eclipse and all the tricks I could find on the web but the compile time never really changed.

I am running under Windows 7 32bit, and I get the same performance from the plugin and stand alone version of the IDE.

Anyone know why and how I can speed things up?

Answer: 
A common way of doing that is with a `long` type's binary representation for each player.  

(since there are 64 squares on the board).. As **Charlie** already said..  

Here's a very good (but reather general) [wiki article](http://en.wikipedia.org/wiki/Bitboard).

The usage is simple - for example, if you want to check if all pieces can move say up and right, shift the player's pieces represntation 7 bits to the left, and check if there are opponent pieces there, then shift them 7 bits left again, and check if those squares are clear...  

I used it in a Reversi competition once, and can say the implementation wasn't too hard.  

HTH.
In terms of lists, I would highly recommend against using a structure that uses linked lists in this situation. You'll likely already know the positions that you want to investigate (x-y coordinates), and so a linked list would require `O(n)` time to simply grab the value of the checkerboard space. As other answers have mentioned, a bitmap or long approach would be ideal.

In terms of how to organize the data, I would imagine that an implementation where both the black and white are stored in the same structure would be ideal. You'll have some overhead since storing `2` and `3` in binary require the same amount of memory, though if you're writing checkers, you'll likely need to stored "kinged" data anyway. Having the ability to check if a space is open by performing a single lookup should provide a significant performance benefit.

Hope this helps.