Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!brl-adm!seismo!rochester!pt.cs.cmu.edu!wb1.cs.cmu.edu!avie From: avie@wb1.cs.cmu.edu.UUCP Newsgroups: comp.arch,comp.lang.c Subject: Re: String Handling -- Incompetence of run-time libraries Message-ID: <5@wb1.cs.cmu.edu> Date: Mon, 30-Mar-87 22:29:40 EST Article-I.D.: wb1.5 Posted: Mon Mar 30 22:29:40 1987 Date-Received: Wed, 1-Apr-87 03:32:25 EST References: <15292@amdcad.UUCP> <978@ames.UUCP> <15694@sun.uucp> Organization: Carnegie-Mellon University, CS/RI Lines: 18 Keywords: instruction set architectures, strcpy Xref: utgpu comp.arch:714 comp.lang.c:1391 In article <1531@husc6.UUCP> reiter@harvard.UUCP (Ehud Reiter) writes: >As a brief addition to my previous posting, when I used my own strcpy and strcmp >routines, the Dhrystone rating of my microVAX II (cc -O, 4.3BSD) jumped from >1000 (library strcpy, strcmp) to 1400 (my strcpy, strcmp). Dhrystone seems to >be highly sensitive to the quality of the library's string-handling routines. > > Ehud Reiter > reiter@harvard (ARPA,BITNET,UUCP) You've got to be careful when you run benchmarks. If you are indeed running 4.3, then you are most likely using the 4.3 libc, which has been carefully optimized to use the fancy VAX instructions for the string routines. Unfortunately, some of these instructions are not implemented by the MicroVAX-II hardware. As it turns out, what is happening is that your tests (including Dhrystone) are causing kernel traps to emulate those instructions! Avie