Variadic ALL OF

Return of this old bug ?

image

Is this in 6.9 or 7? And could you share the project? Thanks.

6.9

last block in the error sprite in this project
image

List Tutorial script pic

~60 s for 60k records

but 1 second with 3 AND...

Ah, good, it's not broken, just slow. Let me look into it...

I thought maybe changing ALL OF from a recursive function to a FOR EACH loop would speed it up, and it does by a couple of seconds. :~( But it shouldn't matter anyway because only 311 items from that table are in Canada, which is the first condition tested, and ALL OF, however implemented, returns False right away if the first condition fails, without checking the others. (So does AND, which is why the version with nested ANDs is so fast; almost all the time the inner AND isn't evaluated.)

So that all means that it's just the cost of calling a custom block that we see here. I now remember why we made MAP, KEEP, and COMBINE primitives.

Maybe my student who's working on a JIT compiler for custom blocks will solve this speed problem... fingers crossed...