Tech Note 22: Benchmarks

November 05, 2010

© 2018 NS BASIC Corporation. All rights reserved.

This isn't a comprehensive benchmark: it's as simple as they get. How high can you count in 10 seconds? Results are divided by 10 to give a loops/second value.

As you can see, there's quite a range. Numbers in boldface are using NS Basic/CE. Values are in loops/second: a higher number is faster.

NS Basic/CE (and some eVB and .NET) Results

Device

NSB

eVB

.NET

iPaq 5555 PocketPC 2003, NS Basic/CE 6.0, overclocked 528mhz

55511

1687

iPaq 1900 PocketPC 2003, NS Basic/CE 4.1

29785

1850

iPaq HX4700 PocketPC 2003, NS Basic/CE 4.1

28662

iPaq 5555 PocketPC 2003, NS Basic/CE 4.1

27923

1753

CuWin 3500, CE5, NS Basic/CE 8

26529

133

Toshiba e830 Windows Mobile Second Edition, NS Basic/CE 5.1

26159

Symbol MC3000, Windows CE 5.0, NS Basic/CE 5.1

26125

Lilliput GK7000, WinCE 5.0, NS Basic/CE 8.1

24480

Two Technologies Jet XL, Windows CE 5.0, NS Basic/CE 6.1

24185

iPaq 2210 PocketPC 2003

23995

1923

Psion WorkAbout Pro, Windows CE 4.2, NS Basic/CE 6.0

23684

Adventech TPC-60S, Windows CE 6.0, NS Basic/CE 6.0

23552

Dell Axim X5, NS Basic/CE 4.1

22312

1443

iPaq HX2490, WM5, NS Basic/CE 6.0

21557

FriendlyArm Mini2440, WM6, NS Basic/CE 8.1

21529

Yakumo EazyGo XSC, CE 4.2, NS Basic/CE 7.0

21145

Maplin MID, CE 5.0, NS Basic/CE 8.1

20670

Dell Axim x51v, WM5, NS Basic/CE 6.2

18873

Sigmarion III, CE.NET 4.1, NS Basic/CE 5.1

18677

Intermec CN30, WinCE 5.0, NS Basic/CE 6.5

18244

Psion Teklogix NetbookPro, WinCE 5.0, NS Basic/CE 8.0

17042

Acer beTouch E101 Windows Mobile 6.5, 528 mhz, NS Basic/CE 8.0

16669

3060

Teklogix NEO, WM5, NS Basic/CE 8.0

16662

75

Torodex Colibri, WM5, NS Basic/CE 7.0

15442

CuWin 5500, CE6, NS Basic/CE 8

14394

764

Medion MD 96700, WM5, NS Basic/CE 6.0

13339

WebDT 375, CE.NET 4.2, NS Basic/CE 7.0

12928

DSP Aurora AU1100, CE.NET 4.2, NS Basic/CE 6.5

12900

i-mate 400mhz, WM5, NS Basic/CE 8.0

12632

1290

Compsee MAT 204, CE.NET 4.2, NS Basic/CE 6.5

11842

NEC MobilePro 900c, CE.NET 4.2, NS Basic/CE 5.1

10492

Datalogic SilverJet, CE .NET 4.2, NS Basic/CE 6.5

9039

JVC MP-C33 HPC 2000, NS Basic/CE 3.2

6804

Psion Teklogix NetPad, WinCE 4.0, NS Basic/CE 4.0

6267

HP Jornada 720 HPC 2000, NS Basic/CE 3.2

6266

iPaq 3835 PocketPC 2002, NS Basic/CE 3.2

4952

1389

Dell Axim X5 (400 mhz) Pocket PC, NS Basic/CE 4.0

4386

T-Mobile Pocket PC Phone Edition, NS Basic/CE 3.2

4102

Toshiba E470 PocketPC, NS Basic/CE 3.2

3828

Sumsung HPC/Pro (Prototype), WinCE2.11, NS Basic/CE 1.10

2820

HP iPaq H1910 Pocket PC, NS Basic/CE 4.0

2716

NEC MobilePro 770, WinCE2.11, NS Basic/CE 1.10

2356

Fujitsu HPC/Pro, WinCE2.11, NS Basic/CE

2215

Casio E-100, WinCE2.11, NS Basic/CE

2162

HP Jornada 430 Pocket PC, NS Basic/CE

2136

Compaq Aero 8000, WinCE2.11, NS Basic/CE

2008

HP Jornada 820, WinCE2.11, NS Basic/CE

1959

HP Jornada 680, WinCE2.11, NS Basic/CE

1937

NEC 750C HPC, WinCE 2.0, NS Basic/CE

1652

Sharp Vadem HPC/Pro, WinCE2.11, NS Basic/CE

1560

Compaq Aero 2130, WinCE 2.11 NS Basic/CE

1494

Philips Nino 500 PPC, WinCE 2.11 NS Basic/CE

1435

Philips Velo 500 HPC, WinCE 2.0 NS Basic/CE

1391

Sharp Mobilon HC-4600, WinCE 2.0 NS Basic/CE

1282

HP Jornada 420, WinCE 2.0 NS Basic/CE

1266

516

Velo 500 HPC, WinCE 2.0, PocketC 1.28

1226

LG Phenom Express, WinCE 2.11, NS Basic/CE

1115

NEC 700 HPC, WinCE 2.0, NS Basic/CE

1056

LG Phenom Express, WinCE 2.0, NS Basic/CE

920

HP 660LX HPC, WinCE 2.0, NS Basic/CE

719

Compaq C810 HPC, WinCE 2.0, NS Basic/CE

670

379

Casio PA 2400 HPC, WinCE 2.0, Visual BASIC for CE

568

HP 360LX HPC, WinCE 2.0, NS Basic/CE

538

HP 320LX HPC, WinCE 2.0, NS Basic/CE

347

Casio A-11 WinCE 2.0, NS Basic/CE

340

Other Results

Intel Core i5 650@3.2ghz, Win7, NS Basic/Desktop 4.0

1,868,453

Mac Pro, 2.8GHz 8-core, Parallels, Win2K, NS Basic/Desktop 3.0

1,508,398

MacBook Pro 2.33, Parallels, Win2K, NS Basic/Desktop 2.5

1,417,205

MacBook, Parallels, Win2K, NS Basic/Desktop 2.5

1,261,610

MacBook Pro, Parallels, WinXP, NS Basic/Desktop 2.5

1,160,247

Pentium Dual 2.16ghz, Vista Home Premium 64 Bit, NS Basic/Desktop 4.0

814,187

Celeron 3.3ghz, Vista Basic, NS Basic/Desktop 3.0

796,414

Pentium dual core 3ghz, W2K, NS Basic/Desktop 2.5

725,400

Pentium 3ghz, W2K, NS Basic/Desktop 1.2

652,096

Samsung Q1 Ultra Mobile PC, NS Basic/Desktop 2.5

397,432

HP Mini 110 Netbook, Windows 7, NS Basic/Desktop 4.0

301929

Mac G5 2.0 ghz Dual Core, VPC, XP, NS Basic/Desktop 1.2

122,997

IBM RS/6000, AIX, UBL 1.5

43,966

Pentium MMX 200, NT, IE3, VBScript

39,176

Apple MessagePad 2000, NewtonScript

31,015

Pentium 133, NT, IE4, VBScript

28,017

Pentium 133, NT, WinCE Emulator, NS Basic/CE

23,117

Pentium Dual 2.16, Visa Home Prem 64, WM 6.5 Emulator, NS Basic/CE 8

18,080

Pentium 133, NT, WinCE Emulator, Visual BASIC for CE

9,563

Pentium 120, Visual BASIC 4

5600

Pentium 120, Sax BASIC/WinWrap

3800

Apple eMate 300, NewtonScript

1573

Pentium II 300 mhz, WinNT4, QBasic

1102

Apple MessagePad 2000, NS BASIC 3.61

592

Pentium 120, Small Basic Interpreter

340

Apple eMate 300, NS BASIC 3.61

102

Apple MessagePad 110 (1994!), NS BASIC 2.52

25

 

Some Pentium results are from the June'97 issue of Dr. Dobbs Journal. The RS/6000 is a server used as the main system for a bank - It uses a PowerPC 640 chip at 233 mhz.

The benchmark programs are similar - only syntax changes. There are two versions for NS BASIC/Newton: Vesion A is the same code, as close as possible. Program B does the same thing the way a savvy NS BASIC programmer would do it, using NewonScript.

Want to add your desktop computer to the standings? Go here, and send us your results!

 

 

 

Program Listings

REM NSBASIC/CE and Visual BASIC for CE
option explicit
dim limit, counter
limit = DATEADD("s", 10, NOW)
counter = 0
Do Until Now > limit
counter = counter + 1
Loop
MsgBox counter/10, 0, "Iterations per second"

 

0005 REM NS BASIC/Newton Version A
0010 t=ticks()+600
0020 i=0
0030 do
0040 let i=i+1
0050 loop until ticks()>t
0060 print i/10

 

 

0005 REM NSBASIC /Newton Version B
0010 function counter(t) begin local i:=0; while ticks()<t do i:=i+1;i end
0020 print u:counter(ticks()+600)

 

 

'Visual BASIC
Sub Main
T=Timer+10
While Timer < T
i=i+1
Wend
MsgBox I\10 & + loops per second"
End Sub

 

PocketC:
main()
{
int count, sec;
sec = getsec() + 10;
while (getsec() < sec)
{
count ++;
}

text(75,75,(count/10));
}