Hello Drew, thanks for your reply.
My measurements are quite rough. Let's say I have a function build_games(File pgn_file), that build a collection of object Game, each representing a game in the pgn_file. These object are built with error-checking not only for the sintax, but also for the "meaning" (I mean if there is an illegal move in the pgn it gives an error, is what you said "move validation", right?). I call the java function System.nanoTime() immediately before and immediately after build_games (and subtract the result of course). So this a very precise result, but for Scidb and ChessX I simply "count" the time they take to open the database with a wrist watch; as I said I am not interested in the nanoseconds, but in the methodology. I know the recursive descendant parser (which I used) is not the most efficient in general, but it was the first that came into my mind :) After see the result I wonder if the difference (especially with chessX I have to say, it is incredibly faster) is based on the used algorithms or in the implementation (maybe mine was poor, who knows :) ). For this reason I asked which strategies are under Scidb (and chessX). I can share the file no problem (13Mb), but I suppose it is nothing of special. A normal (quite large) pgn file should be OK. Regards Il Domenica 16 Febbraio 2014 21:31, Drew Ferguson <d...@afccommercial.co.uk> ha scritto: Hi Pietro On Sun, 16 Feb 2014 17:31:54 +0000 (GMT) pietro grandinetti <ilcecchino2...@yahoo.it> wrote: > After having tried a parser of mine, scidb and chessX on a pgn database > (9.500 games), I observe some similar result between scidb and mine. I How are you measuring the performance of the parsers? > suppose scidb (r1000) is somehow slowed down by the log message, while > mine is simply slow :). I used a recursive descendant parser, after > having tokenized the pgn in tokens of the following types: move, '(', > ')', comment, nag. So are you basically trying to compare the performance of movelist validation as well as structural parsing of the file, is that it? Sounds interesting but I have no idea. I have quite a few python libraries I could test against if you want to share your PGN file -- Drew