2023-09-05 12:01:21 I've heard the "data in place" argument before. if you consider that most programs spend their time in loops, the time it takes to pass arguments on the stack is negligible 2023-09-05 12:01:36 assuming any of them even make it to the stack and aren't in registers 2023-09-05 12:02:27 I tried for example to statically analyze 6502 assembly and use zero page for locals but for that you need to know what calls what so they don't overwrite each others' locals 2023-09-05 12:03:05 it works and is fast but the next best way is just to free up some zero page registers by pushing their values to some type of stack 2023-09-05 12:03:53 so you easily find the break even point and see that as long as you do enough accesses in your loop, how you pass things doesn't much matter 2023-09-05 13:46:18 Well, sure - you can find a value to set your loop iteration to to push the overhead down as low as you want. But you don't get to just choose that - it comes with the application setting. 2023-09-05 13:46:33 Not all applications provide the same opportunities to run tight loops. 2023-09-05 13:58:47 If you can find a solution approach that gives you that gift, you certainly should - just one part of solving a problem well. 2023-09-05 14:08:42 If calls are a low proportion of your code, then it doesn't matter if they aren't as efficient as possible. But Forth explicitly encourages us to emphasize calls - the advice is more or less "more calls is better." So one would hope that such a language would make those calls as efficient as possible, and Forth does - calls don't move any data around. They do exactly and only *calls* - nothing more. It 2023-09-05 14:08:44 can't get any more efficient than that. 2023-09-05 15:07:22 been musing on porting eForth to CommanderX16 2023-09-05 15:08:25 and I am cogitating on if I should support two kinds of docol 2023-09-05 15:09:53 nope only one kind but each xt takes three bytes instead of just two 2023-09-05 15:10:41 same format as jsrfar CX16 KERNAL provides 2023-09-05 15:11:21 two bytes address abd one byte bank select 2023-09-05 15:15:05 s/abd/and/ 2023-09-05 19:22:02 Man, I'm actually kind of happy the days of banked RAM are behind us. 2023-09-05 19:56:01 well in CommanderX16s case I do not mind terribly as it is using EsterDesigCenters version of the 6502 which can only address 64 KibiOctets directly 2023-09-05 19:59:42 but having a flat 4 GibiCells address space is indeed nice 2023-09-05 20:06:20 I have moved the channel logs on forth.chat to a new server; please let me know you see any issues with this. 2023-09-05 23:48:36 https://literature.hpcalc.org/community/intro-sysrpl-asm.pdf