Skip to content

Fix unsound assumption of chunks being disjoint #89

Description

@flying-sheep

See #87 (comment)

I assume we could still do things in parallel if we want.

We could create a DisjointViews (or so) struct that holds non-overlapping ArrayBytesFixedDisjointViews and has a safe fn add(&mut self, ...) -> bool that returns if a region was safely added (would not overlap with the already contained regions) or not. Then at runtime,

  1. create a Vec<DisjointViews> by first trying to add each view to the first DisjointViews object, then the second, … until each view has been added.
  2. go over the vec and handle each DisjointViews object in parallel.

There could be pathological cases where that doesn’t work well, but in practice, those shouldn’t happen

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions