World: r3wp
[rebcode] Rebcode discussion
older newer | first last |
BrianH 20-Feb-2007 [1616] | APPLY is quite slow as well, at least when compared to rebcode in general. |
Maxim 20-Feb-2007 [1617x2] | I guess its because of all of tha context navigation which rebocode is freed of. |
darn, why does that damn "o" always get added when I write rebcode quickly.. | |
BrianH 20-Feb-2007 [1619x5] | I think that function calls recurse into the interpreter. |
BRAB is for branch tables like that generated by switch statements in C. Words in the target block are changed by the assembler into integer offsets to their associated label statements. Any other use is only appropriate for compiler-generated rebcode. | |
As for an equivalent to NONE?, SETT might work. | |
Looking back on this group, it seems that the APPLY bug may have been fixed. Also, BRAB is good for use on the results of CMP or SIGN. | |
As for reversing the bits in a byte, have you considered a binary lookup table? | |
Maxim 20-Feb-2007 [1624] | steeve... told you brian was the reference here :-) |
BrianH 20-Feb-2007 [1625] | It's been a while - for some I had to go back and look at my own posts :) |
Maxim 20-Feb-2007 [1626x2] | is rebcode still incapable to lookup objects? |
(still as in... did the last version still have that limitation) | |
BrianH 20-Feb-2007 [1628x2] | That was part of the planned upcoming features, and then they stopped updating it. I recall creating a comprehensive proposal... |
You can still APPLY IN and then GETW or SETW. | |
Maxim 20-Feb-2007 [1630] | rebcode really has to be part of 2.7... if we could just have object lookup, that would allow me try to make a few tests with liquid and mayb optimise so its about 10-30 times faster at managing the dataflow :-) |
BrianH 20-Feb-2007 [1631] | Have you tried it with APPLY IN and such? How is the speed compared to REBOL? |
Maxim 20-Feb-2007 [1632x4] | I have not yet done any rebcode tests with liquid, as so far, its always interactive enough, so as to not require it... but I am going nuts with the engine ;-) liquidator is a testament to its stability and another user here is helping me push the enveloppe to :-) but obviously, It will come to a point where pure processing will be needed and in such a case, speed will always be a factor. |
going nuts as in "I'm having a lot of fun with it" :-D the apis is pretty complete for most gui and procedural | |
(needs) | |
I didn't know about APPLY IN ... I might just do a quick try in a little while... does 'APPLY support refinements? | |
BrianH 20-Feb-2007 [1636] | Yes, as positional true/false arguments. IN doesn't have any refinements. |
Maxim 20-Feb-2007 [1637] | ok ... yes... I remember that part about the ordering of apply... |
BrianH 20-Feb-2007 [1638x2] | If you change the order that the refinements are declared in the function, you will need to change all calls by APPLY to match. |
I think true/false will work - it might need true/none. | |
Maxim 20-Feb-2007 [1640] | its probably true/none |
BrianH 20-Feb-2007 [1641] | It's probably both. |
Maxim 20-Feb-2007 [1642] | hum... in any case, thanks for remining me about APPLY IN :-) you've revived my interest in rebcode (even if I might now rely on some features of 2.7) |
Steeve 20-Feb-2007 [1643] | here am i ^^^ |
BrianH 20-Feb-2007 [1644x2] | It is really the best way to work with objects in efficient code, so much so that I requested an IN opcode. |
Hi Steeve! | |
Maxim 20-Feb-2007 [1646] | glad you did :-) |
BrianH 20-Feb-2007 [1647] | IN doesn't work with structs though, so I requested a set of struct opcodes to work with them (SET.S, GET.S, ...). |
Maxim 20-Feb-2007 [1648x3] | that would probably be even faster. |
since its a simple shift | |
I meant offset | |
BrianH 20-Feb-2007 [1651x4] | For structs, yes. For objects, IN and GETW/SETW would be faster since you can cache the looked-up word. |
It's not that bad a technique in REBOL code either. | |
Path evaluation has a lot of overhead. | |
Any questions, Steeve? | |
Steeve 20-Feb-2007 [1655] | BrianH, what is the most rapid, to use a do [my-func var] or an apply ? |
BrianH 20-Feb-2007 [1656] | Apply. |
Steeve 20-Feb-2007 [1657] | hum, and if i have severall apply to do (in sequence) ? |
BrianH 20-Feb-2007 [1658] | APPLY in a LOOP block or something. Even then, it is much more efficient to translate to rebcode and inline when you can - APPLY overhead is significant, and DO overhead much more so. |
Steeve 20-Feb-2007 [1659x7] | ok |
have another question on system/internal/assembly* | |
can i disactivate the label parsing/replacecing to gain speed when i build rebcode functions | |
? | |
i d'ont use labels | |
but i build many many rebcode functions in real time, i need speed | |
i use a parser to convert Z80 opcodes into rebol opcodes | |
older newer | first last |