On Fri, Apr 09, 2021 at 01:44:58PM -0400, Stewart C. Russell via talk wrote: > I'd agree if I were doing something like wanting the sum of the values > of a list. /list.sum()/ is going to be many times more efficient than an > accumulator loop on a system that's got any level of vectorization. > Chris Tyler's talk on AARCH64 optimization in gcc a few years back > showed that the code isn't anything like my mental model (somewhere > around a Z80, with faulty memory management) expected. > > But in document processing, you really really /really/ want the output > to come out in the same order as the input. Which is why functional > languages seemed a strange choice for document transformation. The > absence of side-effects can be handy in document processing, but being > in the right order is usually what publishing houses get paid the big > bucks to do.
Not controlling the processing order is not the same as not controlling the output order. Any input list should result in output in the same order, no matter what order each part of the list was processed in. Now if the result depends on interaction betweem the elements in the input, then you obviously have to treat that as a single input. > I've had to process utility time series power generation data in XSLT. > That was horrid. Order matters a lot there, too. > > Call me old-fashioned, but I want my computers to do what I tell them. I > don't want exceptions, I want results or error messages to explain why. > I know there are many processes running that do things I'll never > understand, but they must prove themselves useful to me or get out of my > way. Well to some extent even if writing C code you are not exactly telling the computer what to do. The compiler has a lot of choice in when to move things between registers and memory, largely dependent on the architecture you are running on. Humans are generally not that good at handling large complex systems, so having to explicitly manage memory and such isn't usually a good idea, and certainly once you get to multithreaded most people make a mess of it if they have to explicitly control it. -- Len Sorensen --- Post to this mailing list talk@gtalug.org Unsubscribe from this mailing list https://gtalug.org/mailman/listinfo/talk