PB4 Beta 6 is Scorching HOT ! !
@Randy Walker:
about the 30 KB extra bytes to your exe created with v4... possible you are using a lot of text (strings) and compiled the exe by using UniCode for storing your strings?
You can try to compile your source with 3.94 and 4.0 using the /REASM command... This will create an ASM outputfile... you can compare the stuff in the header (commands/libs) that will be linked to your exe... maybe there is any different when comping with v4? just an idea...
about the 30 KB extra bytes to your exe created with v4... possible you are using a lot of text (strings) and compiled the exe by using UniCode for storing your strings?
You can try to compile your source with 3.94 and 4.0 using the /REASM command... This will create an ASM outputfile... you can compare the stuff in the header (commands/libs) that will be linked to your exe... maybe there is any different when comping with v4? just an idea...
va!n aka Thorsten
Intel i7-980X Extreme Edition, 12 GB DDR3, Radeon 5870 2GB, Windows7 x64,
Intel i7-980X Extreme Edition, 12 GB DDR3, Radeon 5870 2GB, Windows7 x64,
-
- Addict
- Posts: 989
- Joined: Sun Jul 25, 2004 4:21 pm
- Location: USoA
@traumatic - We know where the bloat came from ... Fred put it there 
@Psychophanta - I left all my variables as is. I might use as many as 5 floating variables (if that many) and they are quite adequate for my needs so I didn't bother switching to doubles.
@va!n - I don't know anything about UniCode or any of this other stuff Fred added in there. I use s$=readstring(0,#pb_ascii) now so all I did was add the new parameter.
@Berikco - I keep saying Fred this and Fred that even though I know you and others have contributed heavily to the same cause. Not very considerate of me so in all sincerity I want to say I hope those steel enforced boots are knee highs. Your efforts, although perhaps not as extensive as Fred's, are nonethelsss equally commendable. In that light I want to acknowlegde all those efforts and say thank you to all of you.

@Psychophanta - I left all my variables as is. I might use as many as 5 floating variables (if that many) and they are quite adequate for my needs so I didn't bother switching to doubles.
@va!n - I don't know anything about UniCode or any of this other stuff Fred added in there. I use s$=readstring(0,#pb_ascii) now so all I did was add the new parameter.
@Berikco - I keep saying Fred this and Fred that even though I know you and others have contributed heavily to the same cause. Not very considerate of me so in all sincerity I want to say I hope those steel enforced boots are knee highs. Your efforts, although perhaps not as extensive as Fred's, are nonethelsss equally commendable. In that light I want to acknowlegde all those efforts and say thank you to all of you.
Code: Select all
_
D \
| /
/ \___
__/ @___)
/ @_____)
\ @____)
_____@__)
Last edited by Randy Walker on Fri Mar 17, 2006 1:03 am, edited 2 times in total.
- - - - - - - - - - - - - - - -
Randy
I *never* claimed to be a programmer.
Randy
I *never* claimed to be a programmer.
...and we just can't blame him enough for that...Randy Walker wrote:@traumatic - We know where the bloat came from ... Fred put it there
Somewhere I read his real name was "Frédéric Bloatoureur" but I could be wrong...

Good programmers don't comment their code. It was hard to write, should be hard to read.
rofl
@Randy Walker:
Just check the filesize when creating an exe and changing in the compiler options "create unicode executeable" (enable/disable)! Else you just have to /REASM the code and take a clother look

@Randy Walker:
Just check the filesize when creating an exe and changing in the compiler options "create unicode executeable" (enable/disable)! Else you just have to /REASM the code and take a clother look

va!n aka Thorsten
Intel i7-980X Extreme Edition, 12 GB DDR3, Radeon 5870 2GB, Windows7 x64,
Intel i7-980X Extreme Edition, 12 GB DDR3, Radeon 5870 2GB, Windows7 x64,
-
- Addict
- Posts: 989
- Joined: Sun Jul 25, 2004 4:21 pm
- Location: USoA
I don't have any of my unicode boxes checked anythere. Don't know what unicode is or why I would want it. My program does exactly what I ask and thats all I ask. PureBasic is still operating well within my interpretation of bloat free development tools so I'm sticking to it. 17% size increase is well worth the 2.5 times speed increase.va!n wrote:rofl
@Randy Walker:
Just check the filesize when creating an exe and changing in the compiler options "create unicode executeable" (enable/disable)! Else you just have to /REASM the code and take a clother look
Thanks for the tip though. I might get curious one day and go play with it now that you've pointed it out.
- - - - - - - - - - - - - - - -
Randy
I *never* claimed to be a programmer.
Randy
I *never* claimed to be a programmer.
> Why would you not want to stay with 3.94 for now? 3.94 is rock-solid stable.
Well v3.94 is good, but it's certainly not 100% rock-solid stable:
(1) Do GetClipboardText() with >64k of text and watch your app crash and die.
(2) Try FileSize with large files (eg. DVD ISOs) and see the incorrect results.
(3) NO THREAD SAFETY, which can lead to corrupted variables if not careful.
They're just three simple examples off the top of my head. For me, the clipboard
issue alone makes v3.94 totally unreliable for me, because you never know what
your users are going to copy into the clipboard.
Well v3.94 is good, but it's certainly not 100% rock-solid stable:
(1) Do GetClipboardText() with >64k of text and watch your app crash and die.
(2) Try FileSize with large files (eg. DVD ISOs) and see the incorrect results.
(3) NO THREAD SAFETY, which can lead to corrupted variables if not careful.
They're just three simple examples off the top of my head. For me, the clipboard
issue alone makes v3.94 totally unreliable for me, because you never know what
your users are going to copy into the clipboard.
I compile using 5.31 (x86) on Win 7 Ultimate (64-bit).
"PureBasic won't be object oriented, period" - Fred.
"PureBasic won't be object oriented, period" - Fred.
This is hardly a bug. This is one of the most whined about features in any programming community and it seems to be one of the most misunderstood. 3.94 is thread safe, the problem is people do not know how to write thread safe code.(3) NO THREAD SAFETY, which can lead to corrupted variables if not careful.
Again, not a bug. Your code should be checking what it copied to the clipboard and the size of what is being copied to the clipboard and you should notify the user if the size of what they are trying to copy to the clipboard exceeds the size you are using. IIRC, you can adjust the clipboard size via the API if 64k is too small, but I don't think that will work on all versions of Windows.(1) Do GetClipboardText() with >64k of text and watch your app crash and die.
PB isn't alone in this. Depending on what version of Windows you are using and what file system, Windows itself can have this problem.(2) Try FileSize with large files (eg. DVD ISOs) and see the incorrect results.
I am not trying to picking on you, and I really like PB. However, I will always take stability over feature set.
I like the new features in 4.0, but unfortunately yet again, there is code incompatability and you have to rewrite some of your code. Not all new features are working properly. In a few months, I am sure 4.0 will be very stable and I will be using it. But for now, 3.94 is meeting my needs

I wish PB would reach a state where we could quit adding to the core language and just fix all the bugs so everything works as it should on all platforms and then work on fully implementing all the features of OGRE so we could make some great 3D games in PB and once all that is done, then worry about adding new features to the core language.
Just thoughts not flames

Hi Brice,
> 3.94 is thread safe, the problem is people do not know how to write
> thread safe code
What I mean is: with v3.94 the coder has to ensure thread safety themself,
as you said. With v4.00, it's all handled automatically, with no extra code by
the programmer. Newbies to PureBasic might not know about the concept
of thread safety, and wonder why their apps are not doing the correct stuff.
GetClipboardText: Anything that causes a PureBasic command to crash is
considered a bug in my book. At the very least GetClipboardText should
return a "failed" result if the clipboard is >64K, for example:
Your argument is that the user should be checking... by that reasoning, all
commands that return 0 for failure should be scrapped and let the user do
all the error-checking for themselves.
FileSize: FAT32 supports single files of 4 GB, but FileSize in v3.94 will only
ever see up to 2 GB for a file size. Try it and see. I discovered this years
ago when trying to make a file list of large files, and have been waiting for
PureBasic to support Quads ever since.
> I am not trying to picking on you
I know.
All is good.
> I wish PB would reach a state where we could quit adding to the core
> language and just fix all the bugs so everything works as it should on all
> platforms and then work on fully implementing all the features of OGRE
> so we could make some great 3D games in PB and once all that is
> done, then worry about adding new features to the core language.
Agreed, except for the OGRE bit.
> 3.94 is thread safe, the problem is people do not know how to write
> thread safe code
What I mean is: with v3.94 the coder has to ensure thread safety themself,
as you said. With v4.00, it's all handled automatically, with no extra code by
the programmer. Newbies to PureBasic might not know about the concept
of thread safety, and wonder why their apps are not doing the correct stuff.
GetClipboardText: Anything that causes a PureBasic command to crash is
considered a bug in my book. At the very least GetClipboardText should
return a "failed" result if the clipboard is >64K, for example:
Code: Select all
result=GetClipboardText() ; Returns 0 if nothing there or >64K.
commands that return 0 for failure should be scrapped and let the user do
all the error-checking for themselves.

FileSize: FAT32 supports single files of 4 GB, but FileSize in v3.94 will only
ever see up to 2 GB for a file size. Try it and see. I discovered this years
ago when trying to make a file list of large files, and have been waiting for
PureBasic to support Quads ever since.

> I am not trying to picking on you
I know.

> I wish PB would reach a state where we could quit adding to the core
> language and just fix all the bugs so everything works as it should on all
> platforms and then work on fully implementing all the features of OGRE
> so we could make some great 3D games in PB and once all that is
> done, then worry about adding new features to the core language.
Agreed, except for the OGRE bit.

I compile using 5.31 (x86) on Win 7 Ultimate (64-bit).
"PureBasic won't be object oriented, period" - Fred.
"PureBasic won't be object oriented, period" - Fred.
- Psychophanta
- Always Here
- Posts: 5153
- Joined: Wed Jun 11, 2003 9:33 pm
- Location: Anare
- Contact: