Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #133848

Re: OOS approach revisited

From minforth <minforth@gmx.net>
Newsgroups comp.lang.forth
Subject Re: OOS approach revisited
Date 2025-06-27 22:35 +0200
Message-ID <mc8dkkFeh4uU1@mid.individual.net> (permalink)
References <fdbeb48de8ceb748d44c67dc3981a566@www.novabbs.com> <0087b3b084f8af01cf9fb29bf50c389a104e1ffa@i2pn2.org> <mc77onF8d4vU1@mid.individual.net> <bc63996456fe967e5c66d17cbbeb21c2@www.novabbs.com> <nnd$39000884$25328e8c@2d18b2c67eb1f6e0>

Show all headers | View raw


Am 27.06.2025 um 20:15 schrieb albert@spenarnc.xs4all.nl:
> In article <bc63996456fe967e5c66d17cbbeb21c2@www.novabbs.com>,
> LIT <zbigniew2011@gmail.com> wrote:
>>> It really depends on how counted loops are implemented.
>>> Most CPUs have operators for register-based count-down loops
>>> that are blazingly fast.
>>>
>>> If they can be used within Forth-based loop constructs
>>> I would expect a greater speed increase than what you measured.
>>
>> In that old fig-Forth it's rather short and simple:
>>
>>         sqHeader '(LOOP)'
>> XLOOP   dw   $ + 2
>>         mov  BX,1
>> XLOO1:  add  [BP],BX
>>         mov  AX,[BP]
>>         sub  AX,[BP+2]
>>         xor  AX,BX
>>         js   BRAN1
>>         add  BP,4
>>         inc  SI
>>         inc  SI
>>         jmp  NEXT
>>
>> It doesn't look that bad. Can it be
>> done even shorter?
> 
> My optimiser looks into the combination of DO and LOOP,
> transfers the returns stack into registers after inlining
> everything. It is near vfx performance.
> All experimental, but yes there is much to be gained.

Must be tricky to do UNLOOP in a register-based loop.  ;-)

Back to comp.lang.forth | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

OOS approach revisited zbigniew2011@gmail.com (LIT) - 2025-06-23 05:09 +0000
  Re: OOS approach revisited dxf <dxforth@gmail.com> - 2025-06-24 23:28 +1000
    Re: OOS approach revisited zbigniew2011@gmail.com (LIT) - 2025-06-26 17:27 +0000
      Re: OOS approach revisited minforth@gmx.net (minforth) - 2025-06-27 02:16 +0000
        Re: OOS approach revisited dxf <dxforth@gmail.com> - 2025-06-27 17:29 +1000
          Re: OOS approach revisited minforth <minforth@gmx.net> - 2025-06-27 11:49 +0200
            Re: OOS approach revisited zbigniew2011@gmail.com (LIT) - 2025-06-27 16:55 +0000
              Re: OOS approach revisited albert@spenarnc.xs4all.nl - 2025-06-27 20:15 +0200
                Re: OOS approach revisited minforth <minforth@gmx.net> - 2025-06-27 22:35 +0200
                Re: OOS approach revisited albert@spenarnc.xs4all.nl - 2025-06-28 11:34 +0200
                Re: OOS approach revisited Stephen Pelc <stephen@vfxforth.com> - 2025-06-28 09:37 +0000
              Re: OOS approach revisited dxf <dxforth@gmail.com> - 2025-06-28 12:03 +1000
            LOOP (was: OOS approach revisited) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2025-06-28 10:23 +0000
              Re: LOOP (was: OOS approach revisited) albert@spenarnc.xs4all.nl - 2025-06-28 14:26 +0200
              Re: LOOP dxf <dxforth@gmail.com> - 2025-06-28 22:41 +1000
                Re: LOOP sean@conman.org - 2025-06-28 20:04 +0000
                Re: LOOP anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2025-06-28 21:01 +0000
                Re: LOOP minforth@gmx.net (minforth) - 2025-07-03 19:33 +0000
                Re: LOOP Gerry Jackson <do-not-use@swldwa.uk> - 2025-07-07 07:54 +0100
                Re: LOOP minforth <minforth@gmx.net> - 2025-07-07 10:46 +0200
                Re: LOOP dxf <dxforth@gmail.com> - 2025-06-29 13:04 +1000
              Re: LOOP (was: OOS approach revisited) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2025-06-28 16:04 +0000
        DO..LOOP and stack shuffling (was: OOS approach revisited) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2025-06-28 17:46 +0000
          Re: DO..LOOP and stack shuffling Hans Bezemer <the.beez.speaks@gmail.com> - 2025-07-01 13:53 +0200
            Re: DO..LOOP and stack shuffling dxf <dxforth@gmail.com> - 2025-07-03 13:59 +1000
            Re: DO..LOOP and stack shuffling anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2025-07-03 07:50 +0000
        Re: OOS approach revisited Hans Bezemer <the.beez.speaks@gmail.com> - 2025-06-30 15:43 +0200
      Re: OOS approach revisited dxf <dxforth@gmail.com> - 2025-06-27 13:39 +1000

csiph-web