Wanting to compare the raw speed of Power Basic, I benchmarked darn near every compiler I had working on my laptop that could make a .dll file.
I gotta say, I'm super-impressed with PowerBasic! I created a .dll file of the closest intpretation of Powerbasic's benchmark they put on the main web page. Granted, the benchmark is probably not the best test of compilers, and it doesn't compare all aspects of a language's power, like graphics, file processing, data access, etc. But gosh darn it, I believe this gives a good idea of where the raw speed is.... Here's my results so far:
PB5CC Returned 0.45 (timer) TIX returned 715,645,140
PB8Win Returned 0.41 (timer) TIX returned 657,344,196
HotBasic Returned 2.95 (timer) TIX returned 4,618,767,060
VP 2.1 Returned 3378 ms TIX returned 5,392,704,300
PureBasic (see note) TIX returned 4,833,094,596
note: Pure Basic didn't support all types needed to give a fair result,
and I didn't have time to work out how to return a value in a .dll function,
so I created a procedure. Despite using smaller floating point numbers in
most cases Pure Basic was still significantly slower.
% wise (smaller number is better) are as follows:
PB5/CC 4.4128
PB8/Win 4.0533
Hot Basic 28.4800
Virtual Pascal 2.1 33.2523
Pure Basic 4.3 29.8016
Interesting note: While folks put BASIC down and claim its slow, all BASIC compilers came out faster than Virtual Pascal. I need to look into making a .dll with Free Basic and perhaps Free Pascal and benchmark them.
The reason for the DLL creation is simple. All benchmarking / output is done in PB5/CC, the most basic benchmark is ran as a function in each .DLL and is called from PB5/CC, TIX is called before the function and TIX END is called after the function. All 4 DLL Functions are called exactly the same, such that no favortisim is played.
I gotta say, I'm super-impressed with PowerBasic! I created a .dll file of the closest intpretation of Powerbasic's benchmark they put on the main web page. Granted, the benchmark is probably not the best test of compilers, and it doesn't compare all aspects of a language's power, like graphics, file processing, data access, etc. But gosh darn it, I believe this gives a good idea of where the raw speed is.... Here's my results so far:
PB5CC Returned 0.45 (timer) TIX returned 715,645,140
PB8Win Returned 0.41 (timer) TIX returned 657,344,196
HotBasic Returned 2.95 (timer) TIX returned 4,618,767,060
VP 2.1 Returned 3378 ms TIX returned 5,392,704,300
PureBasic (see note) TIX returned 4,833,094,596
note: Pure Basic didn't support all types needed to give a fair result,
and I didn't have time to work out how to return a value in a .dll function,
so I created a procedure. Despite using smaller floating point numbers in
most cases Pure Basic was still significantly slower.
% wise (smaller number is better) are as follows:
PB5/CC 4.4128
PB8/Win 4.0533
Hot Basic 28.4800
Virtual Pascal 2.1 33.2523
Pure Basic 4.3 29.8016
Interesting note: While folks put BASIC down and claim its slow, all BASIC compilers came out faster than Virtual Pascal. I need to look into making a .dll with Free Basic and perhaps Free Pascal and benchmark them.
The reason for the DLL creation is simple. All benchmarking / output is done in PB5/CC, the most basic benchmark is ran as a function in each .DLL and is called from PB5/CC, TIX is called before the function and TIX END is called after the function. All 4 DLL Functions are called exactly the same, such that no favortisim is played.
Comment