That was a good observation, Rupert. Well, it doesn't return Nothing if the indexes are out of the bounds, but if start < 0 then start = 0, and end >= length then end = length -1... I could actually use Array.get and implement my own map like you mention.
Thanks Robin for that correction. I thought Array.slice is using under the hood Array.prototype.slice, which as far as I know, the C++ implementation, it's O(N). If there is a new implementation with such complexity, then happy days. Was just curious to know what ideas there are out there about this problem. I'm aware of the fact that 2 * O(N) is still O(N), but my arrays might be dealing with millions of entries. Imagine a 5000px by 5000px by 3 color channels. That's 75 millions. So performance is very important. That's why I'm asking. Thanks guys On Fri, Nov 17, 2017 at 1:20 PM Robin Heggelund Hansen <skinney...@gmail.com> wrote: > Slicing isn't O(N). > > In the current implementation in core, slicing is O(log32n) i believe. In > the next version of Elm, slicing is O(log32n) when start = 0; I'm uncertain > what the big-o notation is once start > 0 though. > > > fredag 17. november 2017 09.25.22 UTC+1 skrev Francisco Ramos følgende: >> >> Hi there, >> >> Was wondering how I can map over an array with a start and end indexes. I >> know I could slice the array and then map, but performance is a concern and >> slicing is O(N) where N = end - start, plus the actual mapping, another >> O(N). >> >> Maybe there is another way where I just loop once over the array? >> >> Thanks a lot, >> Fran >> > -- > You received this message because you are subscribed to the Google Groups > "Elm Discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to elm-discuss+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.