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


Groups > comp.lang.forth > #30277 > unrolled thread

Can gforth make excutibles for linux that don't need gforth interpeter?

Started bythe_gavino_himself <visphatesjava@gmail.com>
First post2014-05-10 14:47 -0700
Last post2014-05-11 16:46 -0700
Articles 7 — 4 participants

Back to article view | Back to comp.lang.forth


Contents

  Can gforth make excutibles for linux that don't need gforth interpeter? the_gavino_himself <visphatesjava@gmail.com> - 2014-05-10 14:47 -0700
    Re: Can gforth make excutibles for linux that don't need gforth interpeter? "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-05-10 21:15 -0400
      Re: Can gforth make excutibles for linux that don't need gforth interpeter? Melzzzzz <mel@zzzzz.com> - 2014-05-11 07:24 +0200
        Re: Can gforth make excutibles for linux that don't need gforth interpeter? "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-05-11 11:32 -0400
          Re: Can gforth make excutibles for linux that don't need gforth interpeter? Melzzzzz <mel@zzzzz.com> - 2014-05-11 18:03 +0200
          Re: Can gforth make excutibles for linux that don't need gforth interpeter? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-05-12 03:27 -0500
      Re: Can gforth make excutibles for linux that don't need gforth interpeter? the_gavino_himself <visphatesjava@gmail.com> - 2014-05-11 16:46 -0700

#30277 — Can gforth make excutibles for linux that don't need gforth interpeter?

Fromthe_gavino_himself <visphatesjava@gmail.com>
Date2014-05-10 14:47 -0700
SubjectCan gforth make excutibles for linux that don't need gforth interpeter?
Message-ID<3b90f0c4-024f-4e70-8644-a468de36be91@googlegroups.com>
I was reading about starflight game, and I asked myelf ok that ran as a game on ibm pc.

Does that mean there was a forth inpterprter running when you launched starflight?

or that it was machine code liek C?

does gforth let you compile to machine code?

[toc] | [next] | [standalone]


#30280

From"Rod Pemberton" <dont_use_email@xnothavet.cqm>
Date2014-05-10 21:15 -0400
Message-ID<op.xfn8gvyg6zenlw@localhost>
In reply to#30277
On Sat, 10 May 2014 17:47:53 -0400, the_gavino_himself  
<visphatesjava@gmail.com> wrote:

> [...]
> does gforth let you compile to machine code?

In theory, it's possible to emit C code for Forth.  And, gforth
would be an ideal candidate for that since it uses C.  Does it
let you compile to machine code?

In 2009, Anton said that gforth couldn't produce standalone
Forth executable applications.

One source claims the relative speed of gforth is six times
slower than C.  Another source provides data that gforth-fast
is 8.5 times slower than GCC -O3 compiled C code.  You also
need to take into account that GCC is not known for producing
especially fast compiled C code, as compared to other C
compilers, like OpenWatcom.

So, if all that's true, the real question is why would want
GCC compiled gforth code in C?  I.e., slow.


Rod Pemberton

[toc] | [prev] | [next] | [standalone]


#30281

FromMelzzzzz <mel@zzzzz.com>
Date2014-05-11 07:24 +0200
Message-ID<lkn1hk$5d6$1@news.albasani.net>
In reply to#30280
On Sat, 10 May 2014 21:15:57 -0400
"Rod Pemberton" <dont_use_email@xnothavet.cqm> wrote:

  You also
> need to take into account that GCC is not known for producing
> especially fast compiled C code, as compared to other C
> compilers, like OpenWatcom.

Hm, that was true perhaps 10 years ago but now I see that
gcc is able to vectorize where icpc and clang can't...
Eg
void init_cumul()
{
  for(int k=0;k<N;k++)
    array[k]=k/3+k;
}
gcc 4.8 and later are able to vectorize while intel icc 13.1.1
and clang 3.5 can't...


-- 
Click OK to continue...

[toc] | [prev] | [next] | [standalone]


#30291

From"Rod Pemberton" <dont_use_email@xnothavet.cqm>
Date2014-05-11 11:32 -0400
Message-ID<op.xfpb33k46zenlw@localhost>
In reply to#30281
On Sun, 11 May 2014 01:24:04 -0400, Melzzzzz <mel@zzzzz.com> wrote:
> On Sat, 10 May 2014 21:15:57 -0400
> "Rod Pemberton" <dont_use_email@xnothavet.cqm> wrote:

>> You also need to take into account that GCC is not known
>> for producing especially fast compiled C code, as compared
>> to other C compilers, like OpenWatcom.
>
> Hm, that was true perhaps 10 years ago but now I see that
> gcc is able to vectorize where icpc and clang can't...
> Eg
> void init_cumul()
> {
>   for(int k=0;k<N;k++)
>     array[k]=k/3+k;
> }
> gcc 4.8 and later are able to vectorize while intel icc
> 13.1.1 and clang 3.5 can't...
>

My recently installed, up-to-date, Linux is only up to 4.5.2 ...

I.e.,
1) How many versions of Linux have the most recent GCC?
2) How many people have the latest and greatest GCC?
3) How little does vectorization improve general C code?

The version of GCC which I mainly use is 3.4.1 (DJGPP for DOS).
The area which I consider GCC to be especially weak is characters.
The older v1.3 OpenWatcom dramatically outperforms GCC 3.4.1 here.
Maybe, that's fixed in 4.x series somewhere, but OW is many
versions past that too, now.  They would likely need to update
GAS to support the entire x86 instruction set, instead of the
limited subset GCC uses (if they haven't already).

Anyway, we're off the topic of getting Gavino to think about
stuff prior to posting random thoughts, researching some answers
for himself, or researching responses for himself to counter my
"radical" claims.


RP
P.S. "... versions of Linux ..."  What's the plural of Linux?

[toc] | [prev] | [next] | [standalone]


#30294

FromMelzzzzz <mel@zzzzz.com>
Date2014-05-11 18:03 +0200
Message-ID<lko6vp$uap$3@news.albasani.net>
In reply to#30291
On Sun, 11 May 2014 11:32:17 -0400
"Rod Pemberton" <dont_use_email@xnothavet.cqm> wrote:

> On Sun, 11 May 2014 01:24:04 -0400, Melzzzzz <mel@zzzzz.com> wrote:
> > On Sat, 10 May 2014 21:15:57 -0400
> > "Rod Pemberton" <dont_use_email@xnothavet.cqm> wrote:
> 
> >> You also need to take into account that GCC is not known
> >> for producing especially fast compiled C code, as compared
> >> to other C compilers, like OpenWatcom.
> >
> > Hm, that was true perhaps 10 years ago but now I see that
> > gcc is able to vectorize where icpc and clang can't...
> > Eg
> > void init_cumul()
> > {
> >   for(int k=0;k<N;k++)
> >     array[k]=k/3+k;
> > }
> > gcc 4.8 and later are able to vectorize while intel icc
> > 13.1.1 and clang 3.5 can't...
> >
> 
> My recently installed, up-to-date, Linux is only up to 4.5.2 ...
> 
> I.e.,
> 1) How many versions of Linux have the most recent GCC?

I guess bleeding edge distros, like Fedora and Ubuntu 
and distros based on them.

> 2) How many people have the latest and greatest GCC?

Don't know. I have 4.8.2 in Ubuntu but latest is 4.9,
but I compile gcc from svn repository every Friday.


> 3) How little does vectorization improve general C code?

It can significantly improve tight loops.

> 
> The version of GCC which I mainly use is 3.4.1 (DJGPP for DOS).
> The area which I consider GCC to be especially weak is characters.
> The older v1.3 OpenWatcom dramatically outperforms GCC 3.4.1 here.
> Maybe, that's fixed in 4.x series somewhere, but OW is many
> versions past that too, now.  They would likely need to update
> GAS to support the entire x86 instruction set, instead of the
> limited subset GCC uses (if they haven't already).

What I can tell is that on Linux, x86 gas 2.24 supports all instructions
including avx512.
gcc 4.8 does not supports avx512, but most recent or does.

> 
> Anyway, we're off the topic of getting Gavino to think about
> stuff prior to posting random thoughts, researching some answers
> for himself, or researching responses for himself to counter my
> "radical" claims.
> 
> 
> RP
> P.S. "... versions of Linux ..."  What's the plural of Linux?

Heh, I'm not native English speaker ;)
Perhaps Linuces?


-- 
Click OK to continue...

[toc] | [prev] | [next] | [standalone]


#30313

FromAndrew Haley <andrew29@littlepinkcloud.invalid>
Date2014-05-12 03:27 -0500
Message-ID<ubWdnbJjtNSSG-3OnZ2dnUVZ_rydnZ2d@supernews.com>
In reply to#30291
Rod Pemberton <dont_use_email@xnothavet.cqm> wrote:
> On Sun, 11 May 2014 01:24:04 -0400, Melzzzzz <mel@zzzzz.com> wrote:
>> On Sat, 10 May 2014 21:15:57 -0400
>> "Rod Pemberton" <dont_use_email@xnothavet.cqm> wrote:
> 
>>> You also need to take into account that GCC is not known
>>> for producing especially fast compiled C code, as compared
>>> to other C compilers, like OpenWatcom.
>>
>> Hm, that was true perhaps 10 years ago but now I see that
>> gcc is able to vectorize where icpc and clang can't...
>> Eg
>> void init_cumul()
>> {
>>   for(int k=0;k<N;k++)
>>     array[k]=k/3+k;
>> }
>> gcc 4.8 and later are able to vectorize while intel icc
>> 13.1.1 and clang 3.5 can't...
>>
> 
> My recently installed, up-to-date, Linux is only up to 4.5.2 ...

GCC 4.5.2 is from 2010 and is no longer supported.

> I.e.,
> 1) How many versions of Linux have the most recent GCC?

None of them.  The most recent GCC is 4.9.0, released a few weeks ago.
Most distros will be on something like 4.7.x or 4.8.x, I would have
thought.

> 2) How many people have the latest and greatest GCC?
> 3) How little does vectorization improve general C code?
> 
> The version of GCC which I mainly use is 3.4.1 (DJGPP for DOS).

Oh for goodness' sake!  It's ten years old.

> The area which I consider GCC to be especially weak is characters.
> The older v1.3 OpenWatcom dramatically outperforms GCC 3.4.1 here.
> Maybe, that's fixed in 4.x series somewhere, but OW is many
> versions past that too, now.  They would likely need to update
> GAS to support the entire x86 instruction set, instead of the
> limited subset GCC uses (if they haven't already).

Of course they have.  Sheesh.

Andrew.

[toc] | [prev] | [next] | [standalone]


#30301

Fromthe_gavino_himself <visphatesjava@gmail.com>
Date2014-05-11 16:46 -0700
Message-ID<fb403a9f-6bdd-41d9-a59f-7eae8581bc94@googlegroups.com>
In reply to#30280
On Saturday, May 10, 2014 6:15:57 PM UTC-7, Rod Pemberton wrote:
> On Sat, 10 May 2014 17:47:53 -0400, the_gavino_himself  
> 
> <visphatesjava@gmail.com> wrote:
> 
> 
> 
> > [...]
> 
> > does gforth let you compile to machine code?
> 
> 
> 
> In theory, it's possible to emit C code for Forth.  And, gforth
> 
> would be an ideal candidate for that since it uses C.  Does it
> 
> let you compile to machine code?
> 
> 
> 
> In 2009, Anton said that gforth couldn't produce standalone
> 
> Forth executable applications.
> 
> 
> 
> One source claims the relative speed of gforth is six times
> 
> slower than C.  Another source provides data that gforth-fast
> 
> is 8.5 times slower than GCC -O3 compiled C code.  You also
> 
> need to take into account that GCC is not known for producing
> 
> especially fast compiled C code, as compared to other C
> 
> compilers, like OpenWatcom.
> 
> 
> 
> So, if all that's true, the real question is why would want
> 
> GCC compiled gforth code in C?  I.e., slow.
> 
> 
> 
> 
> 
> Rod Pemberton

so how would one make something like starflight now?

would gforth be the wrong thing to use?

or would gforth be fast enuf?

I just am not sure how you create standalone executables with forth....

starflight ran ona old ibm pc my friend had 

it was new at them time, the pc, but it was probly liek 286 or earlier

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.forth


csiph-web