Hi all,
here's what's new in the repository since the 2.26.0 release:
1. I discovered that when the test suite was enabled, the t/ directory was not
built correctly. I had to play a lot with CMake to get it to work properly,
but it should be OK now.
2. gprof (the GNU profiler) said that
fc_solve_sfs_move_cards_to_a_different_parent() takes a lot of time to run.
Inspecting the code, I detected many speed issues, and conducted several
improvements, including converting to positions_by_rank.
The result was a large speed boost.
I also cleaned up the code a lot and changed several:
<<<<<<<<<
if (COND)
{
BODY;
}
>>>>>>>>>
To:
<<<<<<<<
if (!COND)
{
continue;
}
BODY
>>>>>>>>
(To reduce the indentation).
3. After this change, gprof said a lot of time was wasted on the hash
function. Now I've used Bob Jenkins' hash, which I realised was complex (
http://burtleburtle.net/bob/ ). Changing it to Perl's hash function shaved
slightly over 3 seconds of run-time.
Afterwards, I inlined the hash function, which reduced
"./configure -r --fc-only" from 140.622097015381 seconds down to
133.349467992783 seconds.
That makes --fc-only solve at 239.970961126983 boards per second.
4. Next, I looked at state.h and unified many common macro declarations. This
reduced the size of the file and eliminated duplicate code.
In the process, I added support for compiling using COMPACT_STATES /
DEBUG_STATES , and fixed them both.
5. I branched the following branch:
/branches/first-class-citizen-card-columns-objects
This branch has seen quite a lot of activity. So far the changes have made
Freecell Solver a little slower, but they contribute to the code quality, so
I'd like to keep them.
I also added some simple_simon tests, etc.
6. The day before yesterday, I worked on a different server than the one I'm
used to, and tried to run the test suite. It didn't run properly, which
prompted me to document the steps required to get it up and running. It can
now be found under fc-solve/tests/ in the:
/branches/first-class-citizen-card-columns-objects
I'm going to post it here, but I'd really like to make it simpler to get up
and running.
Regards,
Shlomi Fish
--
-----------------------------------------------------------------
Shlomi Fish http://www.shlomifish.org/
Funny Anti-Terrorism Story - http://xrl.us/bjn7t
God gave us two eyes and ten fingers so we will type five times as much as we
read.
Received on Fri May 01 2009 - 03:59:00 IDT