Skip to content

caching open woofs #10

@richwolski

Description

@richwolski

Looks like the expensive operation is a a call to WooFOpen()/WooFFree(). Caching open woofs, however, is problematic because the woof can change while the woof is cached. Only WooFCreate() can rewrite a woof and it keeps the woof state (e.g. element size and history size) in its persistent state . Reopening the woof on each use ensures that the current state is used in what ever process or container the woof is being accessed but then a rewrite causes inconsistency.

Possible fix is to delete the woof in the create if it exists. Then the cachers would cache the creation time and check to see if the creation time has changed before using a woof. Calling stat() should be faster than calling WooFOpen()/WooFClose().

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