-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
effort: moderateThe issue will probably take a single contributor one or two days of work to resolve.The 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.The issue cannot be resolved right now, but it should be in the future.type: optimizationThe issue involves making existing functionality more performant.The issue involves making existing functionality more performant.
Description
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
Labels
effort: moderateThe issue will probably take a single contributor one or two days of work to resolve.The 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.The issue cannot be resolved right now, but it should be in the future.type: optimizationThe issue involves making existing functionality more performant.The issue involves making existing functionality more performant.