Abstract [eng] |
Existing CIF parsers are not able to process large sets of CIF data or are doing it inefficiently by attempting to unfold the full DOM tree in operating memory. This hinders the executing of piped shell processes both concurrently and in parallel. We created a streaming CIF parser that utilizes concurrent tasks provided by Ada programming language and not only allows processing of large data sets with a small resident set, but also enables concurrency and parallelism in piped processes through partial data processing. Created streaming CIF parser uses existing cod-tools tool set including its non-streaming parser and processes data by single data block by using tools provided by Ada programming language. In this work we first describe the context of the research, then move on to the planned architecture of the parser and principal technical choices. Finally we describe the organisation of the development process, its course and results. |