John R. Sowden wrote:I went to the messages re: this subject. They were extensive. That tells me that this is an issue that others have considered, and I'm not doin' the newbie thing. Secondly, those messages were written in 2009. Combining user interest and the 7 years, it is possible that this issue has been resolved.
I believe nothing has changed, but it's easy to check, the link you followed explained it well with the asm output, anyone can check it again.
I don't have the desire to do it right now but it's relatively easy, see the /commented option for the command line compiler.
John R. Sowden wrote:
The elephant in the room though, is that the last doc I read says this is a one pass compiler, therefore it probably doesn't go back and get rid of all of the dead ends. It would be nice if it did.
It's still a one pass compiler, but I don't think a multiple pass compiler should be required to discard the procedures not actually called though.
http://www.purebasic.fr/english/viewtop ... 93#p366893
http://www.purebasic.fr/english/viewtop ... 21#p366921
John R. Sowden wrote:
Re: this forum, other than Fred (I don't know him, that is just how he is referenced), and the coders, all of whose time when coding is precious, are there people intimately knowledgeable of the current version and its history who can give us answers to some of these more internal questions? How do we know who they are? (Am I reading an opinion or a cold hard fact?)
Only Fred and Freak can speak about PB internals, most of us can guess just by looking at the compiler behavior, but case in point the link you followed was not just guessing, since it was showing the actual asm output. So you can confirm it by yourself as a fact or if you can point out an error then your version becomes a fact.
But I'm not sure to understand what's your problem. Do you want to know more about PB internals ? Just ask as you did here, or search in the forum, I don't think there is a better solution. Sometimes, rarely, Fred reply to those kind of questions too.
John R. Sowden wrote:
A solution to this is to copy the include files to a special file name relating to the program you are currently writing, then after compiling writing, testing and debugging, go through the include text, looking for each procedure in the main program, and delete it from the include file associated with that program. This would make modifications in the future a bear, in addition to modifying the main program to take advantage of new procedures that I have added to my "source code libraries". That I have done many times over the years as I learn more. This in my opinion is a perfect job for a computer, not a fallible human.
Sure it's a job for the compiler, it's strange it's not already there, I agree with you.
Anyway, unless you need to write really small programs for some reason, I don't see the kind of "bloat" introduced by PB as a real problem. It's minimal most of the time and decreasing (in %) as the program becomes larger.
But conceptually, sure it's a waste when your program contain stuff not useful the compiler could have removed and should be rectified.
John R. Sowden wrote:correction 7 years.
You can edit your posts.
