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


Groups > comp.lang.forth > #7708

Re: What would you call this threading method?

From mhx@iae.nl (Marcel Hendrix)
Subject Re: What would you call this threading method?
Newsgroups comp.lang.forth
Message-ID <58839200918436@frunobulax.edu> (permalink)
Date 2011-12-03 11:52 +0200
References <541f26b7-e884-4890-9e10-60889a8d1815@q16g2000yqn.googlegroups.com>
Organization SunSITE.dk - Supporting Open source

Show all headers | View raw


crc <charles.childers@gmail.com> writes Re: What would you call this threading method?

> On Nov 30, 4:49 pm, m...@iae.nl (Marcel Hendrix) wrote:
>> Charles Childers <c...@rx-core.org> writes Re: What would you call this threading method?
[..]
>> Somewhat to my surprise I found that cygwin 32bit has no problem in building a
>> runnable 64-bit ngaro interpreter! Of course, in this case the host is still
>> 32-bits. Is this the intended behavior? (the mingw 64bit tools that I have can
>> only build windows targets and do not seem to understand the assembler syntax
>> in ngaro.c).

> There's nothing in the source to prevent building and using a 64-bit
> image and ngaro on 32-bit hardware. It'll be slower, but works.
> (Likewise, with the 16-bit option)

OK, great.

> Regarding the assembler syntax, I've not used inline assembly in C in
> many years, so can't help there. I have built it with a modified PRIM
> macro:

> #define PRIM(x) label_##x:

Sorry about that, I did not realize I was working with a hacked copy of 
the source. 

I have now downloaded the original ngaro.c, but it is using the termios stuff
that mingw does not understand. When removing that it works in 32-bit mode
but still no luck in 64-bit mode. (I guess there is a problem with int etc.)

[..]
>> I found that in past few days it has become quite a lot more difficult to find
>> convert.c and source files for ngaro.

> How so?

Try looking for 'retro' using Google :-) 
The best entry seems to be through the retro blog.

It proved far easier to download the gForth vm for retro and port it to iForth64.
Even without the messy literal ` immediate stuff it runs fine. I added
the missing getEnv and cw ch underpinning and 'fixed' the output of ^J and 
the input of '\' on Windows.

The result for the 'fib' benchmark puzzles me.

-marcel

------------------------------------------------------------------------------------

[1] iForth x64 server 1.03 (console), Nov  4 2011, 21:17:27.
[2] Stuffed iForth at $00FF4440 [entry: $01000000]
[3] Having a Windows terminal.
[4] Console is active.
[5] Sound devices are internal.
[6] Executing include/iforth.prf

Creating --- LOCATE utility      Version 1.10 ---
Creating --- Several utilities   Version 3.12 ---
Creating --- Extended OS words   Version 3.17 ---
Creating --- Terminal Driver     Version 3.14 ---
Creating --- Command line Editor Version 1.30 ---
Creating --- Online help         Version 1.36 ---
Creating --- Glossary Generator  Version 1.05 ---
Creating --- Disassembler        Version 2.40 ---

iForth version 4.0.753, generated 13:01:18, October 8, 2011.
x86_64 binary, native floating-point, extended precision.
Copyright 1996 - 2011 Marcel Hendrix.

FORTH> in ngaro  ok
ngaro> retro Retro 11.1 (1321716294)

ok  -1
ok  1
ok  >>
ok  putn 9223372036854775807
ok  "HOME"
ok  getEnv
ok  puts C:/Users/marcel
ok  bye
 ok
ngaro>


Benchmark results on Intel i7 920, 2.67 GHz CPU, 64bit code, iForth VM:

benchmark    Best reported    iForth64
--------------------------------------
factorial    0.46 s  C#        0.46 s
fib          0.25 s  C         1.10 s
loops        2.18 s  Java      1.99 s

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


Thread

What would you call this threading method? "jacereda@gmail.com" <jacereda@gmail.com> - 2011-11-24 14:29 -0800
  Re: What would you call this threading method? Alex McDonald <blog@rivadpm.com> - 2011-11-24 14:47 -0800
    Re: What would you call this threading method? "jacereda@gmail.com" <jacereda@gmail.com> - 2011-11-27 12:50 -0800
      Re: What would you call this threading method? "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2011-11-27 17:47 -0500
      Re: What would you call this threading method? Alex McDonald <blog@rivadpm.com> - 2011-11-27 15:27 -0800
  Re: What would you call this threading method? mhx@iae.nl (Marcel Hendrix) - 2011-11-26 18:49 +0200
    Re: What would you call this threading method? "jacereda@gmail.com" <jacereda@gmail.com> - 2011-11-27 12:46 -0800
    Re: What would you call this threading method? Charles Childers <crc@rx-core.org> - 2011-11-29 17:05 -0800
    Re: What would you call this threading method? Charles Childers <crc@rx-core.org> - 2011-11-29 17:06 -0800
    Re: What would you call this threading method? Charles Childers <crc@rx-core.org> - 2011-11-29 17:05 -0800
    Re: What would you call this threading method? Charles Childers <crc@rx-core.org> - 2011-11-29 17:06 -0800
      Re: What would you call this threading method? mhx@iae.nl (Marcel Hendrix) - 2011-11-30 23:49 +0200
        Re: What would you call this threading method? crc <charles.childers@gmail.com> - 2011-12-02 06:22 -0800
      Re: What would you call this threading method? mhx@iae.nl (Marcel Hendrix) - 2011-12-03 11:52 +0200
        Re: What would you call this threading method? crc <charles.childers@gmail.com> - 2011-12-07 10:51 -0800
  Re: What would you call this threading method? mhx@iae.nl (Marcel Hendrix) - 2011-11-28 00:35 +0200
    Re: What would you call this threading method? "jacereda@gmail.com" <jacereda@gmail.com> - 2011-11-27 16:33 -0800
  Re: What would you call this threading method? Mat <dambere@web.de> - 2011-12-05 09:19 -0800

csiph-web