Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #133848
| 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> |
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 | Next — Previous in thread | Next in thread | Find similar
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