Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!husc6!cmcl2!brl-adm!brl-smoke!gwyn From: gwyn@brl-smoke.UUCP Newsgroups: comp.unix.wizards Subject: Re: Supercomputer Unix decisions Message-ID: <5983@brl-smoke.ARPA> Date: Sat, 13-Jun-87 23:48:45 EDT Article-I.D.: brl-smok.5983 Posted: Sat Jun 13 23:48:45 1987 Date-Received: Sun, 14-Jun-87 19:38:27 EDT References: <3659@spool.WISC.EDU> Reply-To: gwyn@brl.arpa (Doug Gwyn (VLD/VMB) ) Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 24 In article <3659@spool.WISC.EDU> lm@cottage.WISC.EDU (Larry McVoy) writes: >Suppose you were to bring up a Unix on a machine >that liked 64 bit ints better than 32 bit ints. It's generally fairly easy to decide what sizes to make the data types. For example, an (int) must be competent to access any element of a large array, so if you contemplate supporting super-large arrays (which I think is pretty silly) then an (int) may have to be large. Since the default integer data type is (int), it is normally chosen to be of a size that doesn't require extra overhead (such as masking and shifting) to access. A word-addressible machine with 64-bit words should probably have 64-bit (long)s, UNLESS you anticpate files exceeding 2^64 bytes in length (in which case use 128-bit (long)s). It undoubtedly should have 64-bit (int)s. Unless there is an exceptionally good reason not to, its (short)s should be strictly smaller than its (int)s, perhaps half their size. The size you choose for (char) may be influenced by the decision X3J11 has yet to make on how to handle "multi-byte characters"; 8 bits is most useful as things now stand, but stay tuned. Don't be too concerned about code portability, because applications that "knew" that the word size was 32 bits will probably have to be fixed no matter what choices you make for a 64-bit machine, just as they have to be fixed when porting to 16-bit machines.