delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/08/28/18:21:16

From: "Michael L. Smith" <mlsmith AT ktis DOT net>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Announcement: OmniBasic Version 1.27
Date: Thu, 28 Aug 1997 00:04:45 -0500
Organization: Computer Design Lab
Lines: 124
Message-ID: <340506ED.6047@ktis.net>
References: <5so1im$s0_006 AT mlsmith DOT ktis DOT net> <5tdvas$o4_008 AT mlsmith DOT ktis DOT net>
Reply-To: mlsmith AT ktis DOT net
NNTP-Posting-Host: news.newsdawg.com
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Michael L. Smith wrote:
> 
> Address correction: mlsmith AT ktis DOT net
> 
> In article <5so1im$s0_006 AT mlsmith DOT ktis DOT net>, mlsmith AT vax2 DOT rainis DOT net (Michael
> L. Smith) wrote:
> >Computer Design Lab announces the availability of OmniBasic
> >version 1.27. This release includes a number of new features
> >including SELECT/CASE, CONTINUE, RANDOMIZE, and comprehensive
> >XForms support for the Linux version. In addition to its
> >unrivaled portability, OmniBasic has shown itself to be the
> >one to beat in recent benchmark tests for speed and efficiency.
> >There are also many changes which accomodate the QB/PB style
> >syntax making conversion much easier. The shareware versions
> >are available for download from:
> >
> >http://www.bmtmicro.com/catalog/omnibasic.html
> >
> >OmniBasic is a structured dialect of Basic which includes such
> >features as true pointers, based variables, macros, C compatability
> >at the function as well as the linker levels, and a host of
> >other advanced features. Like many C compilers, but unlike
> >other Basic compilers, OmniBasic was written in itself. This
> >is to say that the source code for OmniBasic... is OmniBasic.

This set of benchmarks are fairly unique in that they pit a well known
and respected C compiler against a relatively unknown Basic compiler.
Everyone "knows" that Basic cannot "beat" C, right?...WRONG!!! This is
especially interesting in that OmniBasic is a C-output compiler which
(in these tests) actually calls gcc to obtain  its executable. This
benchmark
(as anyone can see) is not "conjured-up" to favor OmniBasic over
anything
else... in fact it's about as rudamentary as is possible. For those
puzzling over how Omni could possibly beat gcc when its output is in
fact
compiled by gcc I will point out that Omni is NOT a Basic to C
convertor,
but is a compiler in its own right (which obviously has a more efficient
FOR LOOP construct than gcc itself. The Power Basic numbers were
provided
(where possible) for comparison since PB is considered by many to be the
"Basic to beat".

For those who are not familiar with OmniBasic, it is a C output Basic
Compiler with macro capability, true pointers, based variables (like C++
references), conditional compilation, unlimited string and array size,
C and assembler in-line code mixing, and much more. It is C compatable
at both the function and linker levels.

OmniBasic is portable to:

Linux (ELF) (Includes integrated XForms/FDesign support)
Win95/NT (Cygnus/Minimalist)
OS/2 (EMX)
MSDOS (DJGPP)
Amiga (SAS)
OS-9 (68xxx)
OS-9000 (x86)

and soon to:

HP-UX (gcc)
BSD (gcc)
SCO (386 gcc)

and maybe... just maybe.. a port to the Cray T3 is in the works!

C Version:

int i;
int x;

main()
{
for(i=1; i<1000000000; i++) x=i;
}

Basic Version: (identical version used for both OmniBasic and Power
Basic)

 dim i as long
 dim x as long

 for i=1 to 1000000000
        x=i
 next i

Environment:
5x86 AT 133MHZ 16MB
Win95 Dos Window
gcc and OmniBasic (v1.28) compiled with Cygnus gcc 2.7.2-960404
Power Basic compiled with PBC version 3.2

Results: gcc     OmniBasic    Power Basic
         163       142           391      Seconds

Environment:
5x86 AT 133MHZ 16MB
OS/2 Window
gcc and OmniBasic (v1.28) compiled with EMX 0.9c (gcc 2.7.2.1)
Power Basic N/A in OS/2 Window

Results: gcc     OmniBasic    Power Basic
         144       116           N/A      Seconds

Environment:
5x86 AT 133MHZ 16MB
Linux (Caldera Open Base)
gcc and OmniBasic (v1.28) compiled with (gcc 2.7.2.1)
Power Basic N/A on Linux

Results: gcc     OmniBasic    Power Basic
         161       140           N/A      Seconds

Environment:
386 AT 40MHZ 16MB (*** COUNT WAS CHANGED FROM 1000000000 TO
                100000000 FOR SLOWER MACHINE ***)
MSDOS v6.22
gcc and OmniBasic (v1.28) compiled with DJGPP (gcc 2.7.2.1)
Power Basic compiled with PBC version 3.2

Results: gcc     OmniBasic    Power Basic
         104       102           265      Seconds

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019