Example #1
0
        private async IAsyncEnumerable <IPerftPosition> ParseEpd(EpdOptions options)
        {
            _epdParser.Settings.Filename = options.Epds.First();
            var sw = Stopwatch.StartNew();

            var parsedCount = await _epdParser.ParseAsync().ConfigureAwait(false);

            sw.Stop();
            var elapsedMs = sw.ElapsedMilliseconds;

            _log.Information("Parsed {0} epd entries in {1} ms", parsedCount, elapsedMs);

            var perftPositions = _epdParser.Sets.Select(set => PerftPositionFactory.Create(set.Id, set.Epd, set.Perft));

            foreach (var perftPosition in perftPositions)
            {
                yield return(perftPosition);
            }
        }