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


Groups > comp.lang.forth > #45220

Re: Forth dictionary implementation and performance

From Paul Rubin <no.email@nospam.invalid>
Newsgroups comp.lang.forth
Subject Re: Forth dictionary implementation and performance
Date 2016-01-31 12:05 -0800
Organization A noiseless patient Spider
Message-ID <87y4b5plac.fsf@jester.gateway.pace.com> (permalink)
References <2016Jan29.184253@mips.complang.tuwien.ac.at> <87fuxfrfk4.fsf@jester.gateway.pace.com> <2016Jan30.145924@mips.complang.tuwien.ac.at> <2016Jan30.183857@mips.complang.tuwien.ac.at>

Show all headers | View raw


anton@mips.complang.tuwien.ac.at (Anton Ertl) writes:
>>gcc-4.7.2 does something more efficient for the memcmp than the rep
>>[cmpsb] that gcc 4.4.5 uses on the reference machine.

Wow, I'm surprised gcc as recently as 4.4.5 used rep cmpsb since I think
those rep instructions have been considered slow holdovers from the 8086
era for quite a long time.

> Compiling it with gcc-4.9.2 produced:
>  99904228      instructions:u            #    0.87  insns per cycle        

Ok, the difference was mostly the compiler.  I guess this test was
memcmp intensive but it's still interesting to see such a big
difference.

> (apparently there is also a difference in the dynamically linked
> libraries between these systems that results in the difference of
> executed instructions).

I tried compiling with --whole-program and got just a tiny speedup.

I have to ask, historically, did Forth in the minicomputer era really
use this linked list representation?  With a 1000 word vocabulary and
maybe 1 mhz memory cycle, that's a significant amount of time just doing
those lookups in a sizeable user program (10k tokens at 0.3 msec each is
3 seconds right there).  I guess the representation lets FORGET work
where hashing didn't, but did it matter?  I also remember something
about using multiple lists, then called "threads".

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


Thread

Forth dictionary implementation and performance anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-29 17:42 +0000
  Re: Forth dictionary implementation and performance Paul Rubin <no.email@nospam.invalid> - 2016-01-29 16:20 -0800
    Re: Forth dictionary implementation and performance anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-30 13:54 +0000
      Re: Forth dictionary implementation and performance Paul Rubin <no.email@nospam.invalid> - 2016-01-31 11:57 -0800
        Re: Forth dictionary implementation and performance anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-02-01 06:47 +0000
          Re: Forth dictionary implementation and performance Paul Rubin <no.email@nospam.invalid> - 2016-02-01 00:47 -0800
            Re: Forth dictionary implementation and performance anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-02-01 11:13 +0000
  Re: Forth dictionary implementation and performance Bernd Paysan <bernd.paysan@gmx.de> - 2016-01-30 01:57 +0100
    Re: Forth dictionary implementation and performance anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-30 17:18 +0000
      Re: Forth dictionary implementation and performance anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-30 17:51 +0000
  Re: Forth dictionary implementation and performance Paul Rubin <no.email@nospam.invalid> - 2016-01-29 18:01 -0800
    Re: Forth dictionary implementation and performance anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-30 13:59 +0000
      Re: Forth dictionary implementation and performance anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-30 17:38 +0000
        Re: Forth dictionary implementation and performance Paul Rubin <no.email@nospam.invalid> - 2016-01-31 12:05 -0800
          Re: Forth dictionary implementation and performance Albert van der Horst <albert@spenarnc.xs4all.nl> - 2016-02-01 03:01 +0000
          Re: Forth dictionary implementation and performance anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-02-01 06:17 +0000
            Re: Forth dictionary implementation and performance "Elizabeth D. Rather" <erather@forth.com> - 2016-01-31 21:27 -1000
  Re: Forth dictionary implementation and performance hughaguilar96@gmail.com - 2016-01-30 15:42 -0800

csiph-web