Skip to content

Parallelize parsing. #25

Open
Open

Description

@dragostis

This can be an interesting idea to keep in mind for the future. I have already experimented with single-consumer-single-producer queues in order to have a token-producing and a token-consuming queue, but the performance is lack-luster, even when using state-of-the-art data structures and algorithms.

A possible approach here would be to have a 2-layered parsing approach: one would divide the input with a really simple grammar, and the other would parallelly parse these divisions.

Activity

  1. self-assigned this
    on May 29, 2016
  2. changed the title [-]Parallelise parsing & processing.[/-] [+]Parallelize parsing & processing.[/+] on Jun 17, 2016
  3. changed the title [-]Parallelize parsing & processing.[/-] [+]Parallelize parsing.[/+] on Aug 18, 2017
  4. removed their assignment
    on Oct 3, 2018
  5. added this to the v3.0 milestone on Jul 23, 2022
  6. gzz2000 commented on Sep 27, 2022

    @gzz2000

    +1 on this. Not only does this allow parallelization, but it can also improve performance without actually opening new threads. This is because we will no longer need to parse in two passes (first get token tree in pest, then interpret the result into custom data structure). This provides better memory locality with very large inputs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions