New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
release 2 #8
Comments
…le parameters) & remove context parameter #8
I created a new package iterarray with a tiny API ( I going to use |
If possible are you able to collect some benchmarks on the new approach using I've been thinking about performance a lot in imlazy and am pretty stoked that it seems to be running faster than native array methods now in node 8! I decided against a caching approach though because in theory a user should be able to pull from an infinite iterable without ever having to worry about memory running out... What if they want to take some values from an infinite iterable every time an event occurs and the code is running for a long time on a tiny node machine? Will it fall over eventually? It's something of a niche use-case but naive caching does introduce that risk... Would be good to see what perf gains you make with it though |
Hi @benji6! It sounds good. I will collect some benchmarks on the last 1.x version and 2.0 version to contrast that. My idea of
But certainly, achieving this can produce memory issues. I should think on this. Thanks so much! |
No worries, really interesting to see what you're getting up to here! |
I would like to do some breaking changes.
First of all, I prefer that methods that returns lazy iterables of arrays (
zip
,cartesian
,permutations
) return iterables of iterables to achieve a real laziness. For example, is not possible to do permutations or cartesian product of potentially infinite iterables.At second point, I want to use memoization. For example, if we have:
and then we need to do:
The first iterable is traversed twice.
I don't want this behaviour.
Finally, there are some methods like
map
,reduce
,every
, etc. that I would like to simplify thus:The reason is that point 1 can be acomplished using
bind
and point 2 can be achieved usingzip
combined with other methods. For example:The text was updated successfully, but these errors were encountered: