Path: news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!i2pn.org!i2pn2.org!.POSTED!not-for-mail From: zbigniew2011@gmail.com (LIT) Newsgroups: comp.lang.forth Subject: Re: Actually... why =?UTF-8?B?bm90Pw==?= Date: Thu, 12 Jun 2025 11:20:31 +0000 Organization: novaBBS Message-ID: References: <1065e5a26154e76b8b30291ee600dde0@www.novabbs.com> <2025Jun11.231606@mips.complang.tuwien.ac.at> <2025Jun12.120802@mips.complang.tuwien.ac.at> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: i2pn2.org; logging-data="185301"; mail-complaints-to="usenet@i2pn2.org"; posting-account="ovTHZ/VLht/KDF1nKqB7PmGhjiyfUdv/DKd8kGKFjRY"; User-Agent: Rocksolid Light X-Rslight-Site: $2y$10$8I3H6KipgAa4RtF35aT5ludYJ2izwbsJDF7lQTOfyEx1AMa3u/pES X-Spam-Checker-Version: SpamAssassin 4.0.0 X-Rslight-Posting-User: 8e58c9b6d1da98b6162b84d03d2307a6516add15 > It only requires a change to COMPILE,. No change in INTERPRET. I modified the relevant branch of INTERPRET. >>So throughout >>all these years since 70s FORTH could execute >>the programs significantly faster - but they >>were all the time selling/giving away the listings >>that DIDN'T feature such advantageous change? > > In the 1970s and early 1980s the bigger problem was code size rather > than code performance. And if you compile a variable or constant into > the CFA of the variable, this costs one cell, whereas compiling it > into LIT followed by the address or value costs two cells. Please, have a mercy... :D it's A SINGLE cell you're talking about. Even, if (let's assume) the two bytes may(?) have some meaning during 70s, still in the 80s - in the era, when 16 KB of RAM, and soon later 64 KB became de facto standard - it wasn't sane decision(?) to cripple the compiler(s) by "saving" (literally) a few bytes. >>And even today the compiler creators don't apply >>it, for no particular reason? > > Which compiler creators do you have in mind? Those that compile for > MS-DOS? With 64KB segments, they may prefer to be stingy with the > code size. 64 KB is a whole lot compared to "savings" of (literally) two-byte size per VARIABLE/CONSTANT definition. Say we've got 200 of them together in the program — so 400 bytes has been "saved" at a cost of significantly degraded performance. --