Code in C# to generate and solve a Boggle board. It's highlight is an intelligent representation of words in memory that aids recursion while minimizing the memory space usage. Link to download code: http://src.devghai.com/boggleNet/zipball/master Cloning is not available yet.

Dev Ghai Dev Ghai 1. Added random board generator for development mode based on number of tiles. Now every run produces a new board and hence makes a new test case :) 2. WaitHandle.WaitAll could take only 64 handles at max. Modified threaded execution to use the next handle available. Threaded implementation is pretty bad at the moment and takes more time than unthreaded execution when application is run multiple times. Did performance analysis and it revealed bad object memory management and high number of contentions. Will fix it sometime. e2e1d0b @ 2014-01-05 09:37:05
Properties Removing byte order mark using sed -i '1 s/^\xef\xbb\xbf//' *.cs in AssemblyInfo and sln file 2013-09-23 06:44:05
dependencies Removed the contorted concept of 'curation' and added proper serialization and deserialization using protobufs. Now design shines through by showing nearly 50% reduction of object that needs to be parsed in memory (depending on rules for the game) :). .NET's BinarySerializer was dropping 88 MB file and never completed deserialization during my test runs. Protobuf takes < 1 sec to load seriazilzed file into a usable object. 2013-12-25 10:46:49
wordlists First commit 2013-09-23 04:19:43
.gitignore Removed the contorted concept of 'curation' and added proper serialization and deserialization using protobufs. Now design shines through by showing nearly 50% reduction of object that needs to be parsed in memory (depending on rules for the game) :). .NET's BinarySerializer was dropping 88 MB file and never completed deserialization during my test runs. Protobuf takes < 1 sec to load seriazilzed file into a usable object. 2013-12-25 10:46:49
Boggle.cs 1. Added random board generator for development mode based on number of tiles. Now every run produces a new board and hence makes a new test case :) 2. WaitHandle.WaitAll could take only 64 handles at max. Modified threaded execution to use the next handle available. Threaded implementation is pretty bad at the moment and takes more time than unthreaded execution when application is run multiple times. Did performance analysis and it revealed bad object memory management and high number of contentions. Will fix it sometime. 2014-01-05 09:37:05
Boggle.csproj Removed the contorted concept of 'curation' and added proper serialization and deserialization using protobufs. Now design shines through by showing nearly 50% reduction of object that needs to be parsed in memory (depending on rules for the game) :). .NET's BinarySerializer was dropping 88 MB file and never completed deserialization during my test runs. Protobuf takes < 1 sec to load seriazilzed file into a usable object. 2013-12-25 10:46:49
Boggle.csproj.user Removing byte order mark using sed -i '1 s/^\xef\xbb\xbf//' *.cs 2013-09-23 06:42:21
Boggle.sln Removed the contorted concept of 'curation' and added proper serialization and deserialization using protobufs. Now design shines through by showing nearly 50% reduction of object that needs to be parsed in memory (depending on rules for the game) :). .NET's BinarySerializer was dropping 88 MB file and never completed deserialization during my test runs. Protobuf takes < 1 sec to load seriazilzed file into a usable object. 2013-12-25 10:46:49
BoggleBoard.cs Printing all characters in 2 spaces to make board look prettier. 2014-01-05 06:38:22
BoggleList.cs Removed the contorted concept of 'curation' and added proper serialization and deserialization using protobufs. Now design shines through by showing nearly 50% reduction of object that needs to be parsed in memory (depending on rules for the game) :). .NET's BinarySerializer was dropping 88 MB file and never completed deserialization during my test runs. Protobuf takes < 1 sec to load seriazilzed file into a usable object. 2013-12-25 10:46:49
BoggleSolver.cs 1. Added random board generator for development mode based on number of tiles. Now every run produces a new board and hence makes a new test case :) 2. WaitHandle.WaitAll could take only 64 handles at max. Modified threaded execution to use the next handle available. Threaded implementation is pretty bad at the moment and takes more time than unthreaded execution when application is run multiple times. Did performance analysis and it revealed bad object memory management and high number of contentions. Will fix it sometime. 2014-01-05 09:37:05
Constants.cs Removed the contorted concept of 'curation' and added proper serialization and deserialization using protobufs. Now design shines through by showing nearly 50% reduction of object that needs to be parsed in memory (depending on rules for the game) :). .NET's BinarySerializer was dropping 88 MB file and never completed deserialization during my test runs. Protobuf takes < 1 sec to load seriazilzed file into a usable object. 2013-12-25 10:46:49
ListWord.cs Removed the contorted concept of 'curation' and added proper serialization and deserialization using protobufs. Now design shines through by showing nearly 50% reduction of object that needs to be parsed in memory (depending on rules for the game) :). .NET's BinarySerializer was dropping 88 MB file and never completed deserialization during my test runs. Protobuf takes < 1 sec to load seriazilzed file into a usable object. 2013-12-25 10:46:49
SupportedLists.cs Removed the contorted concept of 'curation' and added proper serialization and deserialization using protobufs. Now design shines through by showing nearly 50% reduction of object that needs to be parsed in memory (depending on rules for the game) :). .NET's BinarySerializer was dropping 88 MB file and never completed deserialization during my test runs. Protobuf takes < 1 sec to load seriazilzed file into a usable object. 2013-12-25 10:46:49
TODO.txt Added more notes 2013-12-17 15:12:48
Tile.cs Removing byte order mark using sed -i '1 s/^\xef\xbb\xbf//' *.cs 2013-09-23 06:42:21
WordComparer.cs Removed the contorted concept of 'curation' and added proper serialization and deserialization using protobufs. Now design shines through by showing nearly 50% reduction of object that needs to be parsed in memory (depending on rules for the game) :). .NET's BinarySerializer was dropping 88 MB file and never completed deserialization during my test runs. Protobuf takes < 1 sec to load seriazilzed file into a usable object. 2013-12-25 10:46:49
WordOnBoard.cs Removing byte order mark using sed -i '1 s/^\xef\xbb\xbf//' *.cs 2013-09-23 06:42:21