Hi all!
I recently created an optimised preset (that can be found here:
https://github.com/shlomif/fc-solve/blob/43bc4e9a591b023953df83a6be6d0c9c3635de6f/fc-solve/scripts/TEST_OPTIMIZATIONS/obf-mod3.sh
) based on the "one-big-family" preset whose benchmark time went down from
about 6.02 seconds to 5.519 seconds, namely:
Started at 1504379329.433276
Reached Board No. 4000 at 1504379330.117641 (total_num_iters=310048)
Reached Board No. 8000 at 1504379330.807179 (total_num_iters=627920)
Reached Board No. 12000 at 1504379331.470394 (total_num_iters=1565660)
Unsolved Board No. 11982 at 1504379331.775480
Reached Board No. 16000 at 1504379332.252999 (total_num_iters=3875577)
Reached Board No. 20000 at 1504379332.940218 (total_num_iters=4197477)
Reached Board No. 24000 at 1504379333.606391 (total_num_iters=6137984)
Reached Board No. 28000 at 1504379334.264918 (total_num_iters=7695463)
Reached Board No. 32000 at 1504379334.951705 (total_num_iters=9252417)
Finished at 1504379334.952813 (total_num_iters=10184889)
It was done by manually mutating the preset's code by adding tests, removing
tests, adding new -dto2 flags, etc. and timing the results against the
previous ones. I got the idea for it after watching some funny videos on
YouTube, namely the Sesame Street parodies (e.g:
https://www.youtube.com/watch?v=j-LfQCPJJkY and
https://www.youtube.com/watch?v=dhWUFXvaZjo ) or this (may be somewhat
not-safe-for-work) -
https://www.youtube.com/watch?v=52o1d7XPni0 , which shows
that inspiration helps.
In the process, I found and fixed a bug where two -dto2 10,$FOO and -dto2
10,$BAR (= with identical depths) created two levels instead of overriding the
last one and could cause the solving process to get stuck - see
https://github.com/shlomif/fc-solve/commit/092d8ce78f2fa65bf50e0e7d97547ce01f0605aa
).
Cheers!
Shlomi
--
-----------------------------------------------------------------
Shlomi Fish http://www.shlomifish.org/
Perl Elems to Avoid - http://perl-begin.org/tutorials/bad-elements/
*shlomif:* hack, hack, hack ; save ; make ; make test; commit. And start over.
*mrjink:* hack, hack, hack; save; make; swear; fix typos; save; make; make
test; swear some more; hack some more; save; make; make test; cheer; commit.
*meep:* hack, make, test, segfault, oh noes, revert to previous revision
Please reply to list if it's a mailing list post - http://shlom.in/reply .
Received on Tue Sep 05 2017 - 14:44:24 IDT