Thank's for the benchmark !
I think that with a more complex example, the difference between "FOR" and "DOSUBS" or "DOLIST" will be greater.
In general I noticed that the use of {} followed by numerous + is very slow. Best way is to use the stack and a ->LIST command at the end to collect all the datas.
In my opinion, the 'ideal' implementation would be simply :
{2 3 5 7 11 13 17}
{1 3 5 6}
GET
-> { 2 5 11 13 }
But GET don't work that way, on the contrary of other commands. (probably becaus GET already accept a {} structure for the POS argument in some situations)
But in general, it works, and without DOSUBS or DOLIST... For exemple, try :
{ 0 10 20 30 40 } SIN
(0,0) {(1,1) (3,2) (5,5)} LINE
5 { 1 2 3 4 } /
{ 1 2 3 } { 4 5 6 } /
{ 0 1 1 0 1 } { 1 2 3 4 5 } IFT
123 { 'a' 'b' 'c' 'd' 'e' 'f'} STO
{ 1 2 3 } {'a' 'b' 'c'} STO
etc.
In some case, this is very powerfull
See AUR pages F-1
Edited: 27 June 2012, 1:38 p.m.