>>  <<  Ndx  Usr  Pri  JfC  LJ  Phr  Dic  Rel  Voc  !:  wd  Help  Release

m : 0 Space Consumption Reduced initial writing: 2000-12-19
last updated: 2004-10-26

The space consumed by verbs, adverbs, and conjunctions have been reduced. For explicit definitions, the reduction is typically by a factor of between 2 and 3; for tacit definitions, the reduction (if any) is very minor. The space reduction obtained from economizing in several areas, including:

Discarding from the representation all comments and non-essential white space; presumably the source text is available literatim in some source script. (9!:40 and 9!:41 control whether comments and non-essential white space are retained.)
Sharing the space for some commonly-used constants
Limiting the maximum number of lines to 65535
Limiting the maximum number of words per line to 65535
Limiting the maximum length of the non-locale part of a name to 255
Renumbering the code used for control words from n to 1+2^.n

The verb 7!:5 (new in this release) can be used to determine the space consumed by an object. The verb sp defined below can be used in previous releases to compute the same measure; it is destructive in that it works by erasing the object named in the argument.
sp=: 3 : 0
 p=. 7!:0 ''
 q=. 7!:0 ''
 p=. 7!:0 ''
 1 [ 4!:55 y.
 q=. 7!:0 ''
 p-q
)

   7!:5 <'scriptmake_j_'                non-destructive
4544
   sp <'scriptmake_j_'                  destructive: erases argument
4544
   scriptmake_j_
|value error: scriptmake_j_
The non-noun system utility definitions in the j locale give an indication of the amount of reduction:

  Name J 4.06     J 4.05       Ratio
Tacit
 boxopen  448   448 1.00
 build3 6400  9024 1.41
 cleantable  768   896 1.17
 exist 1152  1472 1.28
 fexist 1152  1472 1.28
 fileprintsetup  896  1216 1.36
 filex  768   832 1.08
 fullname  192   384 2.00
 getpath  896   960 1.07
 info  192   384 2.00
 pathsep    0     0 0.00
 tolower 3712  3712 1.00
Explicit
 builder 2688  8960 3.33
 buildpublic  832  2112 2.54
 buildsource 1792  5440 3.04
 cename  640  1664 2.60
 classwizard  832  1792 2.15
 config  640  1152 1.80
 debug 1216  3392 2.79
 demos  640  1152 1.80
 dosname  832  2752 3.31
 edit 4096 11776 2.88
 editfind  768  1792 2.33
 editinputlog 4160 11712 2.82
 editinputlogs 3904 11520 2.95
 fif 1344  3456 2.57
 filenew  832  1920 2.31
 filenewform  832  1856 2.23
 fileopen  960  2496 2.60
 fileprint 1600  3456 2.16
 formeditrun 2304  6336 2.75
 getconfig  896  2240 2.50
 getscripts 6144 17984 2.93
 gettarget 3072  9408 3.06
 gettargetlocale     2688  6912 2.57
 globaldefs 2432  5184 2.13
 gridwizard  832  1792 2.15
 help 1152  2368 2.06
 htmlhelp  832  1792 2.15
 jrequires  832  1600 1.92
 lab  768  1792 2.33
 load  832  1600 1.92
 loadd  896  1664 1.86
 loadp 1088  2112 1.94
 loadreset  576  1024 1.78
 loads 3008  8576 2.85
 macname  576  1024 1.78
 open 2944  7296 2.48
 openfiles 1728  4992 2.89
 origin  576  1536 2.67
 printfiles 2176  4672 2.15
 prints 1664  3840 2.31
 projectmanager 1408  3456 2.45
 publish  768  1728 2.25
 putconfig  640  1344 2.10
 require 1344  3904 2.90
 save 3072  9408 3.06
 scriptmake 4544 10944 2.41
 scripts 3520 11136 3.16
 selactive 2112  5120 2.42
 unixname  576   960 1.67
 wpreset 1472  4032 2.74
 wpsave 3904 11392 2.92
 wpset 3008  6656 2.21



>>  <<  Ndx  Usr  Pri  JfC  LJ  Phr  Dic  Rel  Voc  !:  wd  Help  Release