A PGN parser

Discussion of chess software programming and technical issues.

Moderator: Ras

Dann Corbit
Posts: 12845
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: A PGN parser

Post by Dann Corbit »

F:\project\dcorbit\chess_db-0.2\parser>parser \pgn\ccrl\nocomments\ccrl-4040-bare.pgn

Processing...done
Sorting...done
Writing Polygot book...done

Games: 657560
Moves: 89142420
Unique positions: 82%
Games/second: 22872
Moves/second: 3100713
MBytes/second: 25.6918
Size of index file (MB): 1193956144
Book file: \pgn\ccrl\nocomments\ccrl-4040-bare.bin
Processing time (ms): 28749
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: A PGN parser

Post by mcostalba »

mcostalba wrote: The tool is relatively forgiving in the input moves in SAN format, but requires:

- A correct disambiguation of moves like Rac3, in particular if only one move is legal then no disambiguation

- Castling should be O-O, not 0-0 (big O, not zero)
Ok, things have progressed nicely, now the tool can tolerate malformed input. Not only the above but much worse stuff like this:

http://www.angelfire.com/games3/smartbr ... doctor.zip


And regarding the speed, we are now at 80K games/sec

Code: Select all

$ ./parser ../pgn/fics.pgn

Processing...done
Sorting...done
Writing Polygot book...done

Games: 129207
Moves: 8186293
Incorrect moves: 0
Unique positions: 83%
Games/second: 82718
Moves/second: 5240904
MBytes/second: 65.3928
Size of index file (bytes): 112887328
Book file: ../pgn/fics.bin
Processing time (ms): 1562
I think it is not an overstatement to say that this is the fastest and best PGN parser available.