KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q37768: READ/DATA Statement Slower in QB 4.00 & BC 6.00 Than QB 3.00

Article: Q37768
Product(s): See article
Version(s): 6.00 6.00b 7.00 | 6.00 6.00b 7.00
Operating System(s): MS-DOS | OS/2
Keyword(s): ENDUSER | SR# G881102-5637 B_QuickBas | mspl13_basic
Last Modified: 1-FEB-1990

The following are two reasons why READ/DATA statements are slower in
Microsoft BASIC Compiler Versions 6.00 and 6.00b, Microsoft BASIC
Professional Development System (PDS) Version 7.00, and QuickBASIC
Versions 4.00, 4.00b, and 4.50 than in the noncoprocessor version of
QuickBASIC Version 3.00:

1. Math Package

   The noncoprocessor version of QuickBASIC Version 3.00 (QB.EXE) uses
   Microsoft Binary Format (MBF) for floating-point numbers, while
   QuickBASIC Versions 4.x, Microsoft BASIC PDS, and the BASIC
   compiler Versions 6.00 and 6.00b use IEEE. If a math coprocessor is
   not present, the later compilers emulate one and, thus, are slower
   than the noncoprocessor version of QuickBASIC 3.00.

   To increase its speed without a coprocessor, the BASIC compiler
   Versions 6.00 and 6.00b and Microsoft BASIC PDS Version 7.00
   provide support for the alternate math library. Alternate math is a
   subset of IEEE and is 40 to 50 percent faster than emulating a math
   coprocessor (but is still slower than MBF). To use alternate math,
   compile with the BC /FPa switch. Note that the alternate math
   library is not supported in Microsoft QuickBASIC Compiler Versions
   1.00, 1.01, 1.02, 2.00, 2.01, 3.00, 4.00, 4.00b, or 4.50.

2. Microsoft rewrote the code for READ and DATA statements to support
   both the QB.EXE 4.00, 4.00b, and 4.50 environment and separate
   compilation in the BC.EXE BASIC compiler. QuickBASIC 3.00 is highly
   dependent upon a particular format and location for DATA
   statements. In QuickBASIC 4.00 and later, and in the QuickBASIC
   extended environment included with Microsoft BASIC PDS Version
   7.00, the support is generalized to allow for DATA statements in
   Quick libraries.

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.