>The last nice source of ideas I found is Lua virtual machine. In Lua
>5.0, VM was rewritten from stack based machine to register-based
>machine. This increased performance about 20%. Instead of:
>PUSHLOCAL 1
>PUSHLOCAL 2
>ADD
>POPLOCAL 3
>they use:
>ADD 3 1 2
Parrot code (VM for Perl 6) al
Hi,
Sometimes I return in my mind to more general solutions, like changing
compiler to generate expression tree instead of code, typed variables, etc.
The last nice source of ideas I found is Lua virtual machine. In Lua 5.0,
VM was rewritten from stack based machine to register-based machine.
>> they use:
>> ADD 3 1 2
>
> yes but if you look carefully then you will find that number of registers
> in such implementation is reduced to 256 what also reduce maximal number
> of local variables which have to be less or equal (depending on code) to
> the number of registers. To keep compatib
On Tue, 26 May 2009, Mindaugas Kavaliauskas wrote:
Hi,
> Sometimes I return in my mind to more general solutions, like changing
> compiler to generate expression tree instead of code, typed variables, etc.
> The last nice source of ideas I found is Lua virtual machine. In Lua 5.0,
> VM was rewr
Hi Przemek,
> You have such functionality from beginning though it's not enabled in
> default core builds. You have to compile Harbour with HB_HASH_MSG_ITEMS
> macro or use XHB library. The only one difference is that [x]Harbour
> uses : not . as send operator so it will look like a:x not a.x
> Us
On Tue, 26 May 2009, Szak�ts Viktor wrote:
Hi,
> Right on the second page, I see syntactic sugar: a.x for a[ "x" ],
> I'm not sure about the speed compared to a[ _NUM_INDEX ], but
> it surely gives something I was missing a few days ago.
You have such functionality from beginning though it's not
Viktor Szakáts wrote:
Right on the second page, I see syntactic sugar: a.x for a[ "x" ],
I'm not sure about the speed compared to a[ _NUM_INDEX ], but
it surely gives something I was missing a few days ago.
Yes, nice.
Regards
Alex
___
Harbour mailin
> The last nice source of ideas I found is Lua virtual machine. In Lua 5.0, VM
> was rewritten from stack based machine to register-based machine. This
> increased performance about 20%. Instead of:
> PUSHLOCAL 1
> PUSHLOCAL 2
> ADD
> POPLOCAL 3
> they use:
> ADD 3 1 2
Sounds very good, I've
Hi,
Since these kind of lines may appear in mass, such optimization
may result in code size reduction and speed increase.
> Some more optimization ideas from the past: SUBSTR(), ASC( SUBSTR() ),
> RETURN .T., RETURN .F., RETURN NIL
This is easy to do, but I guess it would increase speed very
>> Since these kind of lines may appear in mass, such optimization
>> may result in code size reduction and speed increase.
>
> Yes, it will give some speed improvement but please remember that
> we have limited PCODE list. Such problem does not exist in -gc3
> output because we can use unlimited l
On Fri, 22 May 2009, Szak�ts Viktor wrote:
Hi,
> It's common practice in Clipper/Harbour to use arrays to "emulate" structures:
> ---
> #define _STRU_xVAR1 1
> #define _STRU_xVAR2 2
> #define _STRU_MAX_
> LOCAL stru[ _STRU_MAX_ ]
> stru[ _STRU_xVAR1 ] := 100
> ? stru[ _STRU_xVAR1 ]
> ---
> In t
Hi Przemek and All,
It's common practice in Clipper/Harbour to use arrays to "emulate" structures:
---
#define _STRU_xVAR1 1
#define _STRU_xVAR2 2
#define _STRU_MAX_
LOCAL stru[ _STRU_MAX_ ]
stru[ _STRU_xVAR1 ] := 100
? stru[ _STRU_xVAR1 ]
---
In these scenarios, the array is indexed with a c
12 matches
Mail list logo