Dmitry Yakimov,
member of RU FIG,
developer of Dragon Forth for Palm Pilot
ftech@tula.net


I have analysed about 4 Mb forth source from various Forth systems and projects. And here you can see statistics of usage of Forth words. It can be taken into account when you decide - make some Forth word primitive or not, or when you develop some optimizer for Forth code. Of course I used Forth to do it :) note: frequency is in absolute meaning.

 frequency                      Forth word
 -----------------------------------------
 20250                             \
 11497                             (
  9749                             ;
  8768                             :
  5914                            to
  5761                            if
  5033                          then
  4173                             @
  4104                           dup
  3961                            of
  3735                          drop
  2893                           and
  2721                             +
  2481                             !
  2232                             -
  2156                          else
  2087                             ,
  2085                          swap
  1930                             =
  1858                            s"
  1857                            cr
  1832                            or
  1666                             i
  1637                            ."
  1526                            r>
  1518                      constant
  1420                            >r
  1289                            0=
  1231                          over
  1230                         value
  1183                         endof
  1168                             '
  1148                         count
  1026                            r@
   979                          code
   951                            1+
   931                          loop
   918                          here
   908                             #
   902                            do
   897                        create
   842                          true
   828                         2drop
   799                          2dup
   793                            c@
   776                            c,
   769                           [']
   765                          word
   748                             *
   747                            f@
   711                         false
   690                         cell+
   688                            f!
   682                             ]
   673                      variable
   664                          exit
   663                         throw
   649                         begin
   629                         cells
   594                          type
   585                            f*
   584                             .
   581                           nip
   517                            1-
   514                         forth
   513                     immediate
   512                          ?dup
   509                         while
   508                           rot
   505                        repeat
   484                             [
   464                        abort"
   450                         allot
   444                            bl
   426                      postpone
   419                          fdup
   399                          base
   396                          move
   382                         words
   382                             >
   372                             <
   366                        [char]
   351                            c!
   337                           min
   333                           >in
   325                          also
   323                             /
   321                            f+
   316                            .(
   290                          only
   283                           max
   283                            <>
   279                          char
   279                           pad
   273                          case
   263                       literal
   259                         fswap
   250                         fover
   248                   definitions
   248                        buffer
   246                       execute
   240                         space
   234                           ?do
   232                             j
   227                         >body
   226                            f/
   224                            f.
   219                          list
   219                            f-
   217                           s>d
   215                       decimal
   213                            #>
   210                         state
   208                          free
   202                           xor
   200                            +!
   197                       endcase
   197                         until
   197                         does>
   189                           key
   189                           hex
   188                        source
   182                      allocate
   182                           2r>
   182                            2*
   180                      included
   174                         catch
   172                        search
   172                         block
   170                          find
   165                      previous
   163                         fdrop
   160                           0<>
   157                         erase
   157                         char+
   156                       compare
   154                         2swap
   154                            <#
   152                    close-file
   150                            2@
   144                           tib
   143                           2>r
   140                         leave
   140                            2/
   136                          hold
   136                           mod
   135                            */
   134                          #tib
   133                     assembler
   133                       /string
   132                          /mod
   130                        [then]
   130                          pick
   130                          [if]
   128                         +loop
   128                          fabs
   122                          emit
   122                            0<
   122                            #s
   120                     source-id
   120                      compile,
   119                        negate
   112                         depth
   109                         parse
   109                            2!
   109                             ?
   107                        rshift
   105                           abs
   103                          frot
   102                     fvariable
   102                        invert
   102                         order
   102                            u<
   101                    write-file
    97                         chars
    96                       :noname
    93                            m*
    91                      evaluate
    88                          fill
    87                         align
    87                            .r
    86                           bye
    86                            f<
    82                           see
    81                        spaces
    81                            ms
    79                     precision
    79                        fm/mod
    77                       fnegate
    77                        within
    77                        lshift
    77                           2r@
    76                     read-file
    75                           r/o
    74                           sf@
    74                            0>
    72                        sm/rem
    72                          sign
    72                          load
    71                         cmove
    70                       locals|
    69                     [compile]
    69                          tuck
    69                           r/w
    68                     open-file
    68                        update
    67                       convert
    67                         again
    66                           um*
    65                          page
    64                            u.
    63                      wordlist
    61                         fsqrt
    60                        editor
    58                   set-current
    57                         abort
    57                         2over
    56                     fconstant
    55                          fsin
    54                     file-size
    52                   get-current
    52                          key?
    52                          dump
    50                       >number
    49                        um/mod
    49                         */mod
    48                         blank
    47                        refill
    47                            d+
    46                          fexp
    45                   create-file
    44               search-wordlist
    44                          fcos
    44                           f0=
    44                           d>s
    43                       aligned
    42                        [else]
    41                         at-xy
    40                           scr
    38                        floats
    37                        unloop
    37                           sf!
    37                            m+
    36                       recurse
    35                            c"
    34                           f0<
    33                     -trailing
    32                        accept
    32                            d.
    31                            d<
    30                           blk
    29                     2variable
    29                            u>
    28                     2constant
    28                           d>f
    27                           fs.
    27                            d-
    26                          ekey
    26                           fln
    24                forth-wordlist
    24                        resize
    22                 set-precision
    22                         ekey?
    22                           u.r
    21               reposition-file
    21                      sliteral
    21                        marker
    20                         flush
    20                          quit
    20                            d=
    20                            .s
    19                           f**
    19                           df!
    19                           d2*
    18                  environment?
    18                     represent
    17                 file-position
    17                        fdepth
    17                          roll
    16                     set-order
    16                      fliteral
    16                         ;code
    15                       fsincos
    14                       dnegate
    14                        forget
    14                           df@
    14                           d2/
    13                        >float
    13                           fe.
    12                          thru
    11                     time&date
    11                     get-order
    11                      2literal
    11                         fatan
    10                 empty-buffers
    10                     read-line
    10                         floor
    10                           d0=
    10                           d.r
     9                   delete-file
     9                        fatan2
     9                        falign
     9                        cmove>
     9                          ftan
     9                          flog
     9                          dabs
     9                           w/o
     8                         query
     8                         fsinh
     8                         fcosh
     8                          fmax
     7                  save-buffers
     7                   resize-file
     7                      faligned
     7                       dfloats
     7                       (local)
     7                        unused
     7                        fround
     7                        fexpm1
     7                          2rot
     7                           m*/
     7                           f>d
     7                            f~
     6                 restore-input
     6                  include-file
     6                    save-input
     6                       sfloats
     6                         facos
     5                   rename-file
     5                     ekey>char
     5                     dfaligned
     5                        float+
     5                        expect
     5                         fasin
     5                         ahead
     5                          fmin
     5                           bin
     4                   file-status
     4                       dfloat+
     4                       dfalign
     4                       cs-pick
     4                        fatanh
     4                        fasinh
     4                        facosh
     4                         ftanh
     4                         flnp1
     4                         falog
     4                          span
     4                           du<
     4                           d0<
     3                    write-line
     3                    flush-file
     3                     sfaligned
     3                       sfloat+
     3                       sfalign
     3                       cs-roll
     3                          dmin
     2                         emit?
     2                          dmax