• Welcome to Powerbasic Museum 2020-B.
 

News:

Forum in repository mode. No new members allowed.

Main Menu

Has anyone tried True Basic compiler ?

Started by Chris Chancellor, July 15, 2018, 10:25:34 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Chris Chancellor

Hello

Has anyone tried the True Basic compiler?

i wonder how good it is ? 

Its link is as below


https://www.truebasic.com/

Pierre Bellisle

I did have a quick look long time ago. If I remember well it was too limited. Bad quality/price ratio.
There is demo to download. Depending of your context, maybe it will fit the bill for your need.

Another alternative for you might be PureBASIC
There is also a demo to download.

Chris Chancellor

Thanxx Pierre

their sales department  didn't even reply my email  -- i believe that it is dead already

it looks outdated and lots of stuff are missing and i'm not going to use it.

   i will go along with FB and O2 to convert PB programs to 64bits

Purebasic has a funny syntax expecially the   for  loop    and do not really looks like basic.

Chris Chancellor

Thanxx Raul for the info

looks like there is no support for this language and its website has no activity!

i was just searching for a replacement language for PB in order to do 64bits programming.

Raúl Ortega

Hello Chris.

I've been watching Free BASIC, but it's extremely slow for string handling.

I would like to investigate: Open Watcon and Xamarin.

In the channel of this video you can find good programming tutorials.
C ++ Programming
https://www.youtube.com/watch?v=Rub-JsjMhWY&feature=youtu.be

Regards

José Roca

Extremely slow? What have been you doing to test it?

Chris Chancellor

Thanxx Raul

Open Watcom looks good except no development since 3 years ago, i will take a spin at it

while Xamarin i won't want to go into it as it belongs to MS, as MS killed many products it took over

Raúl Ortega

Hello Jose,

Maybe I'm wrong.

123456789 * 123456789 * 123456789 * 123456789 * 123456789 * 123456789 * 123456789 * 123456789 * 123456789 * 123456789 *

If I repeat this string 100 times, I have a text with 10,000 characters. if I change the * by 0. 1000 changes are made.

In PB and in SED this is instantaneous.

In CSED_FB and CSED it takes 7 seconds with a Core I3 computer. I assumed that these two editors are compiled with FB.

Also, I read a comment of yours, in which you mention that, in FB, the string part is written in C. But, this does not affect you, since you do not use many strings.

Please, tell me if I'm wrong.

Regards
Raúl

José Roca

#8
> I assumed that these two editors are compiled with FB.

Wrong assumption. They're written in PowerBasic. Your "test" isn't even useful to test PB strings speed because the replacement is being done calling a procedure of the Scintilla control, not using PB's strings. If you want to test FB string speed then use the FB compiler and write a test using FB code.

The truth is that FB strings are faster than PB strings.

Raúl Ortega

Thank you very much.

The world of computing advances very quickly, and it is difficult to change to a different language. However PB programmers will one day have to look for other alternatives. I thank you for clarifying this aspect of FreeBASIC. I will take it into account once more.

regards

José Roca

BTW I have tried your test with CSED in my computer and the replacements are instantaneous.

Raúl Ortega

Text Editors SED, CSED and CSED_FB I like them a lot, and I congratulate you for them.
But, you will have noticed that when changing many characters the line "File Edit Search .." blinks a lot.
In a file built with 1212121212. In an HP folio core I5 with Windows 8.1, ten thousand changes with CSED takes 1 min 5 sec, while a million changes with PB are done in 7.8 sec. With SED, when trying a million changes, it stops after 64,564 changes in 4.8 seconds.

Regards

José Roca

> blinks a lot.

This could be avoided by disabling menu redrawing while doing the replacements.

José Roca

Your test only reveal that INSTR works faster in PB that in FB, but when testing for strings speed, the simpler and most revealing test is string concatenation.

PowerBasic:


#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN () AS LONG

DIM start AS DOUBLE
start = timer
DIM s AS STRING
DIM i AS LONG
FOR i = 1 TO 100000
   s += "test string"
NEXT
DIM endx AS DOUBLE
endx = timer
print endx - start
print LEN(s)
waitkey$
END FUNCTION


19.08 seconds in my computer.

FreeBasic:


DIM start AS DOUBLE = timer
DIM s AS STRING
FOR i AS LONG = 1 TO 100000
   s += "test string"
NEXT
DIM endx AS DOUBLE = timer
print endx - start

print LEN(s)

SLEEP


0.007 seconds in my computer

For a million, 0.089 seconds with FreeBasic. With PowerBasic, I have needed to close the application after waiting for a long time. Try it yourself.


Raúl Ortega

'To concatenate strings, PB is 3.5 times slower than FB with strings of less than 2Kb
'PB/FB = 0.0344/0.007 = 4.9   strings<8Kb
'PB/FB = 0.024/0.007 = 3.4    strings<2Kb

#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN () AS LONG
'DIM s2(100000) AS STRING
DIM s2(10000000) AS STRING

DIM start AS DOUBLE
start = TIMER
DIM s AS STRING
DIM i AS LONG
'FOR i = 1 TO 100000
FOR i = 1 TO 1000000
   s2(10000000) += "test string"
  'IF LEN(s2(10000000))>32000 THEN  '0.15 seg
  'IF LEN(s2(10000000))>16000 THEN  '.047seg
  'IF LEN(s2(10000000))>8000 THEN  '.03seg  / FOR i = 1 TO 1000000' '.344
  'IF LEN(s2(10000000))>4000 THEN  '.03
   IF LEN(s2(10000000))>2000 THEN  '.03seg to 0.015 seg / FOR i = 1 TO 1000000' 0.24 seg
        s2(10000000) = ""
   END IF
NEXT
DIM endx AS DOUBLE
endx = TIMER
PRINT endx - start
PRINT LEN(s)
WAITKEY$
END FUNCTION


#IF 0
'DIM s2(100000) AS STRING
DIM s2(10000) AS STRING

DIM start AS DOUBLE = TIMER
DIM s AS STRING
FOR i AS LONG = 1 TO 100000
   s2(10000) += "test string"
  'IF LEN(s2(10000))>32000 THEN '0.007seg
   IF LEN(s2(10000))>16000 THEN '0.007seg
        s2(10000) = ""
   END IF
NEXT
DIM endx AS DOUBLE = TIMER
PRINT endx - start
PRINT LEN(s)
SLEEP
#ENDIF