Path: | icdoc!uknet!mcsun!uunet!think.com!spdcc!iecc!compilers-sender |
From: | dds@doc.imperial.ac.uk (Diomidis Spinellis) |
Newsgroups: | comp.compilers |
Subject: | Re: Why is compiled basic slower than C |
Keywords: | Basic, C, performance |
Message-ID: | <92-08-053@comp.compilers> |
Date: | 12 Aug 92 12:12:03 GMT |
References: | <92-08-042@comp.compilers> |
Sender: | compilers-sender@iecc.cambridge.ma.us |
Reply-To: | Diomidis Spinellis <dds@doc.imperial.ac.uk> |
Organization: | Compilers Central |
Lines: | 27 |
Approved: | compilers@iecc.cambridge.ma.us |
Content-Length: | 1265 |
BASIC has many features that are inherently slow. Comparable programs written in C do not rely on such features, and therefore, generate faster code. The most important features of BASIC that result to slow code are: 1. All numeric computations are done in floating point by default. One must explicitly name a variable with a special integer suffix code, to declare it as an integer. 2. String operations rely on the dynamic memory allocation and garbage collection. Both are slower than the staticaly allocated string memory / programer controlled allocation and disposal schemes that C programmers use. Furthermore, in PC environments, C programs often directly control the hardware of the output devices (e.g. screen) by using pointers to the memory associated with them (e.g. screen buffer). The same operation can be expressed in BASIC only in a more roundabout way (usualy through a POKE operation) and will therefore be slower. Diomidis -- Diomidis Spinellis Internet: <dds@doc.ic.ac.uk> UUCP: ...!uknet!icdoc!dds Department of Computing, Imperial College, London SW7 -- Send compilers articles to compilers@iecc.cambridge.ma.us or {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request.
Unless otherwise expressly stated, all original material on this page created by Diomidis Spinellis is licensed under a Creative Commons Attribution-Share Alike 3.0 Greece License.