r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3-OLD1]

shadwolf
27-May-2009
[14434x3]
i think i will do that anyway since it's so usual way to handle chatting
i just hope memory will not explode lol
i will do a treeview with the server name as root and as leaf channel 
name you entered clickin on root you have the server messages displayed 
clicking on leaf you have the channel displayed
Steeve
27-May-2009
[14437]
Wow, reduce/into, compose/into at least...
Great improvement !
Maxim
27-May-2009
[14438x2]
yes that is major !
thanks Brian!
BrianH
28-May-2009
[14440]
I've been waiting for this siince last year. I posted a comment about 
usage :)
Graham
28-May-2009
[14441]
retro-fittable to R2 ?
BrianH
28-May-2009
[14442x3]
We'll see. Native changes to R2 are not as easy as mezzanine changes. 
This one doesn't seem to depend on new R3 structures, but...
R2 is not really in new-native-feature mode for the forseeable future, 
but we'll see what can be backported.
Changes in individual functions are more likely than changes in types 
or data structures.
Steeve
28-May-2009
[14445x5]
it's curious that Carl is not aware of the "chaining" use of INSERT 
!!!!
If we don't have the "chaining"  behavior with reduce/into, then 
we will lost some speed in loops (because of the need to update the 
index of the serie separatly after each iteration).
Curious objection from Carl (The users may be unable to understand 
how to use it) 
Uh ?????
i want some proofs that we actually use "chaining" insertions ?
I can send him some dozen of old scripts if he wants... :-)
*he wants
BrianH
28-May-2009
[14450x2]
He's aware of the value of chaining, but is wary of the "bug" reports 
he already gets about INSERT. Apparently there is some tiny amount 
of overhead too, which for a function as low-level as REDUCE might 
matter. "Penny wise, pound foolish" - I'm trying to convince him 
otherwise.
We can save much more overhead by replacing chained inserts in the 
mezzanines. COMPOSE/into will have massive impact :)
Steeve
28-May-2009
[14452]
Actually, the first optimization i do in my scripts which need speed 
and low memory usage, is to remove all the reduce and compose usage.
It's always the first thing i do
BrianH
28-May-2009
[14453]
Now, you will be replacing REDUCE and COMPOSE with REDUCE/into and 
COMPOSE/into and preallocated or reused buffers :)
Maxim
28-May-2009
[14454x3]
but this optimization isn't always possible.  when nests are deep 
and composes are chained within each other, you can't just chain 
insert and remain sane  ;-)
with liquid-paint, this would have MASSIVE impact.
although liquid-paint is already much faster than AGG and lazy so 
the gains might not be as noticeable, but still I can't wait to have 
time to try and port my stuff to R3, it does seem to be much more 
series stable, by all accounts.
BrianH
28-May-2009
[14457]
Nested REDUCE and COMPOSE is not that common outside of code generation 
and nested data structure creation. I do that a lot, but I write 
my own mezzanines and some of them compile internally. I can think 
of many mezzanines that could be sped up with /into.
Steeve
28-May-2009
[14458x2]
See this line of code i do to rebuild a draw block in area-tc (it's 
called thousand times when the style is scrolled)


    out-style: insert insert insert insert insert insert insert insert 
    out-style
					'pen color/2 'fill-pen color/2 'box

     as-pair abs-x 7 as-pair (f/x * length? str) + abs-x 7 + f/y 3

Insane ;-)
it's slower than a reduce, but it's save memory, a lot.
BrianH
28-May-2009
[14460x2]
Seriously, post that code to the blog comments right away, with the 
COMPOSE/into equivalent. We need examples.
Actually, I''d use REDUCE/into for that one - too few lit-words.
Steeve
28-May-2009
[14462x2]
yep
Actually, i'd do a test and choose the faster ;-)
BrianH
28-May-2009
[14464]
out-style: reduce/into ['pen color/2 'fill-pen color/2 'box as-pair 
abs-x 7 as-pair (f/x * length? str) + abs-x 7 + f/y 3] out-style
Steeve
28-May-2009
[14465]
*est
BrianH
28-May-2009
[14466]
The REDUCE/into should be about as fast as REDUCE, but with less 
overhead.
Steeve
28-May-2009
[14467]
i talked about REDUCE vs COMPOSE
Maxim
28-May-2009
[14468]
but you insert example is just a chain... it gets insane when you 
also have offsets, cause you want to insert into sub-blocks  ;-)
BrianH
28-May-2009
[14469]
Yeah, REDUCE/into and COMPOSE/into were designed to replace chained 
inserts or appends. They're pretty common in optimal code.
Maxim
28-May-2009
[14470]
yes steeve, please do post your chained insert example  vs brian's 
reduce/into example
Steeve
28-May-2009
[14471x2]
ok ok, don't push me, i go
;-)
done
BrianH
28-May-2009
[14473]
Cool :)
Though now I wish I had word-wrapped my version :(
Steeve
28-May-2009
[14474]
yep, i saw that but too late
Pavel
28-May-2009
[14475]
Steeve I've just read the changes to A55 released today. It seems 
write/port errors patched. So Block sheme can be upgraded for quicker 
file updates?
Pekr
28-May-2009
[14476]
51 fixes/enhancements, unbelievable this happens in the REBOL land 
:-)
Henrik
28-May-2009
[14477]
perhaps it's a bit too many fixes for one release. one part of chat 
is mysteriously broken right now.
Pekr
28-May-2009
[14478]
Henrik - I just use: chat .... n .... lm :-)
Henrik
28-May-2009
[14479]
oh, 'lm has been updated. Nice.
Pekr
28-May-2009
[14480]
ah, load-plugin .... what a bad name once again. Why load or import 
does not handle it internally? ('import is used in the blog article)
BrianH
28-May-2009
[14481x2]
That sounds like an internal function that hasn't been put in a module 
yet. There is a similar function MAKE-MODULE.
You don't call make-module - MAKE calls it.
Pekr
28-May-2009
[14483]
Good thing is, that Carl asked us to not use plugins yet, which might 
mean, that the code is already in there :-)