| Deutsch English Français Italiano |
|
<2025Feb28.225505@mips.complang.tuwien.ac.at> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.lang.forth
Subject: Re: Stack vs stackless operation
Date: Fri, 28 Feb 2025 21:55:05 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 37
Message-ID: <2025Feb28.225505@mips.complang.tuwien.ac.at>
References: <591e7bf58ebb1f90bd34fba20c730b83@www.novabbs.com> <34df278ef0a52d0eab9d035f45795389@www.novabbs.com> <a6c9d8a0aa7e1046af7948093e07cff0@www.novabbs.com> <2025Feb26.153250@mips.complang.tuwien.ac.at> <2025Feb26.184613@mips.complang.tuwien.ac.at>
Injection-Date: Fri, 28 Feb 2025 23:08:40 +0100 (CET)
Injection-Info: dont-email.me; posting-host="e054b86fdabb721dc5ec61dd1f9ee2c7";
logging-data="4049966"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/Cgj9xKd9tc19nuA3tulyM"
Cancel-Lock: sha1:+tDGAt8B2no0Y5o4dR75I34TGjs=
X-newsreader: xrn 10.11
Bytes: 2450
anton@mips.complang.tuwien.ac.at (Anton Ertl) writes:
>anton@mips.complang.tuwien.ac.at (Anton Ertl) writes:
>Another variant:
>
>: exchange ( addr1 addr2 -- )
> dup @ rot !@ swap ! ;
>
>This uses the primitive
>
>'!@' ( u1 a-addr -- u2 ) gforth-experimental "store-fetch"
> load U2 from A_ADDR, and store U1 there, as atomic operation
>
>I worry that the atomic part will result in it being slower than the
>versions that do not use !@.
It's barely noticable on Zen4, but it makes a big difference on the
Cortex-A55. Therefore we decided to also have a nonatomic !@. We renamed the atomic one into ATOMIC!@ and !@ is now the nonatomic version.
How do they perform?
On Zen4:
!@ atomic!@
821_538_216 880_459_702 cycles
3_815_202_629 3_710_937_849 instructions
On Cortex-A55:
!@ atomic!@
3355427045 5856496676 cycles
3115589778 4318749543 instructions
- anton
--
M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
New standard: https://forth-standard.org/
EuroForth 2023 proceedings: http://www.euroforth.org/ef23/papers/
EuroForth 2024 proceedings: http://www.euroforth.org/ef24/papers/