Ticket #25 (closed enhancement: fixed)

Opened 3 years ago

Last modified 3 years ago

Code removal

Reported by: gunnar Owned by: gunnar
Priority: normal Milestone: 3.7.7
Component: source Version:
Severity: normal Keywords:
Cc: patch: yes

Description (last modified by gunnar) (diff)

In http://lists.gnu.org/archive/html/gnugo-devel/2003-07/msg00059.html I proposed removal of certain obsolete pieces of code to improve maintenance after the release of 3.4. Now I think it's time for another round. This time I propose removal of the items below. Please protest if you disagree or add things I have missed.

experimental pattern based tactical reading

This was left in the post 3.4 cleaning but have since then received no attention. It's also way slower than the usual tactical reading (several times slower, possibly as much as eight) and has a big negative breakage.

Removed in gunnar_7_7.1

tree-based pattern matching

Was also left in the post 3.4 cleaning but has received no attention since. It's also rather intrusive, in particular in mkpat.c.

Removed in gunnar_7_7.1

debugboard

Was left in the post 3.4 cleaning awaiting a replacement. Now view.pike is quite useful, while debugboard in the meantime has broken from a lack of maintenance.

Removed in gunnar_7_7.2

alternate connections

Is there any point in keeping those around any longer? Was also left in the post 3.4 cleaning but nobody seems much interested.

Not removed at this time.

cutstone.tst, semeai2.tst, and *_rot.tst

I proposed removing these in http://lists.gnu.org/archive/html/gnugo-devel/2004-11/msg00069.html which went without response and I forgot about it at the time.

Removed in gunnar_7_7.3

unused game records in regression/golois

The regression/golois directory contains sgf files provided by Tristan Cazenave together with the test cases in capture.tst, connect.tst, vie.tst, and global.tst. Only a third of the game records in regression/golois are used in any tests, however. The rest occupies space without being of any use and are not particularly interesting at all from a GNU Go point of view.

Removed in gunnar_7_7.4

useless information in kgs game records

As you may have noticed game records from kgs are rather verbose, e.g. with lines like: ;B[pq]CR[pq]BL[288.459]OB[22] where the first property (the move) is meaningful, the second property (a circle at the move) is utterly useless and the last two properties (timing information) are at best marginally useful in the regression context.

Fixed in clean_kgs_game_records_7_7.1 (see also attachment)

transpat and patlib

Old, unused, and broken code to transform patterns in *.db files.

Removed in gunnar_7_7.5


Arend: Two more minor suggestions:

engine/interface.c

The trivial wrapper functions like gnugo_is_suicide() in engine/interface.c would only be useful if they succeeded in a consistent layering, i.e. if the code in interface/ would communicate to the engine code only via the additional layer in engine/interface.c. This has failed, and so I suggest to remove all these trivial wrappers.

Removed in arend_7_7.10, see also attachment

Further removals in gunnar_7_7.8, see also attachment.

rotation code

The cost of this code is small, but I think its benefit is almost non-existent.

Partially removed in gunnar_7_7.7.

Attachments

gunnar_7_7.1.diff (49.8 kB) - added by gunnar 3 years ago.
gunnar_7_7.1, removal of EXPERIMENTAL_READING and "tree" pattern matcher
clean_kgs_game_records.gz (99.5 kB) - added by arend 3 years ago.
arend_7_7.10-remove_interface_wrappers.diff (18.0 kB) - added by arend 3 years ago.
Remove some trivial functions from engine/interface.c
gunnar_7_7.8.diff (5.4 kB) - added by gunnar 3 years ago.
Remove some more mostly trivial wrapper functions from engine/interface.c

Regression Results

Attachment Rev. PASS FAIL Nodes Status
arend_7_7.10-remove_interface_wrappers.diff never tested
gunnar_7_7.1.diff never tested
gunnar_7_7.8.diff never tested

Change History

Changed 3 years ago by gunnar

  • milestone changed from 3.8 to 3.7.6

Changed 3 years ago by arend

I agree with all removals except possibly the alternate connection reader. I believe it may be a lot faster than standard for simple problems, and we may do more connection reading in owl in the future. I don't have a strong opinion though.

Changed 3 years ago by arend

  • milestone changed from 3.7.6 to 3.7.7

Changed 3 years ago by gunnar

gunnar_7_7.1, removal of EXPERIMENTAL_READING and "tree" pattern matcher

Changed 3 years ago by gunnar

  • owner changed from gnugo to gunnar
  • status changed from new to assigned

Changed 3 years ago by gunnar

  • type changed from defect to enhancement

Changed 3 years ago by arend

  • description modified (diff)

Changed 3 years ago by gunnar

  • description modified (diff)
  • patch set

Changed 3 years ago by gunnar

  • description modified (diff)

Changed 3 years ago by gunnar

  • description modified (diff)

Changed 3 years ago by gunnar

  • description modified (diff)

Changed 3 years ago by arend

Changed 3 years ago by gunnar

  • description modified (diff)

Changed 3 years ago by arend

Remove some trivial functions from engine/interface.c

Changed 3 years ago by arend

  • description modified (diff)

Changed 3 years ago by arend

  • description modified (diff)

Changed 3 years ago by gunnar

  • description modified (diff)

Changed 3 years ago by gunnar

Remove some more mostly trivial wrapper functions from engine/interface.c

Changed 3 years ago by gunnar

  • description modified (diff)

Changed 3 years ago by gunnar

  • status changed from assigned to closed
  • resolution set to fixed
  • description modified (diff)
Note: See TracTickets for help on using tickets.