Skip to content

Investigate optimized implementations for single-length chains #162

@pineapplemachine

Description

@pineapplemachine

In less jargony terms:

Higher is largely optimized for cases like seq.map(...).filter(...).something(...).array(), i.e. long chains of manipulation functions. However, this is only a subset of use cases. Many of the most common use cases will look more like seq.map(...).array(), i.e. a single-length chain.

It may be that detecting these cases and using a separate code path may produce significantly more performant code. However, whether this is actually true requires actual investigation. This task should be TODO after benchmark tools are in place.

If tests reveal that this is in fact a worthwhile optimization, then it should be implemented for the most common sequence types and possibly eventually for all types.

Metadata

Metadata

Assignees

No one assigned

    Labels

    effort: moderateThe issue will probably take a single contributor one or two days of work to resolve.meta: blockedThe issue cannot be resolved right now, but it should be in the future.type: optimizationThe issue involves making existing functionality more performant.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions