forum.vdsworld.com Forum Index forum.vdsworld.com
Visit VDSWORLD.com
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


How important is runtime size?
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    forum.vdsworld.com Forum Index -> Miscellaneous
View previous topic :: View next topic  
Author Message
jules
Professional Member
Professional Member


Joined: 14 Sep 2001
Posts: 1043
Location: Cumbria, UK

PostPosted: Wed Oct 13, 2004 3:58 pm    Post subject: How important is runtime size? Reply with quote

Open question. How important to you is the size of the VDS runtime (and of any extension DLLs that you use)?

To me, it's quite important in a practical sense because it reduces the size of files people download from my site, and therefore reduces the bandwidth used.

From an aesthetic point of view, I like programs that are small and efficient, and dislike bloatware. We developed the VDS 5 runtime using Delphi 2 because it created a much smaller DLL than Delphi 6. It bugs me that I know there is a lot of stuff in the Delphi 6 VCL that a VDS program will never use. If I was starting to develop VDS now, I would use the Key Objects Library (KOL). I just used it to create a simple GUI app with Delphi 6 in less than 20K! But it would be a lot of work to re-implement VDS using it now (though not as much as re-implementing it using API, of course!)

So I'm interested to know what people would think if VDS 6 had a runtime that was twice the size, or 1MB, or even more. Bearing in mind that it will nearly double in size just recompiling it with Delphi 6, before any new functionality is added. (And for those who don't know, the runtime is already compressed with UPX so that isn't an option for making it smaller.)

_________________
The Tech Pro
www.tech-pro.net
Back to top
View user's profile Send private message Visit poster's website
Skit3000
Admin Team


Joined: 11 May 2002
Posts: 2166
Location: The Netherlands

PostPosted: Wed Oct 13, 2004 4:06 pm    Post subject: Reply with quote

I think most things which can be downloaded on the internet, are growing bigger and bigger recent years. Just look at the size of an average webpage: 40 kb or more. Six or seven years back, it would take 20 seconds to load such a page, now it takes less than a second on most PCs. That's why I think that if the runtime DLL would grow to 1 MB, nobody really worries about it, since you only have to download it once... Smile

Just another little question, IF VDS 6 will come out with a "big" runtime DLL, maybe there should be an option with the VDS EXE files to download the runtime DLL from a central webserver, if it isn't available on the computer already... Smile

_________________
[ Add autocomplete functionality to your VDS IDE windows! ]
Voor Nederlandse beginners met VDS: bekijk ook eens deze tutorial!
Back to top
View user's profile Send private message
PGWARE
Web Host


Joined: 29 Dec 2001
Posts: 1565

PostPosted: Wed Oct 13, 2004 4:50 pm    Post subject: Reply with quote

Quote:
be an option with the VDS EXE files to download the runtime DLL from a central webserver


That might be a good option but there would be tons of bandwidth that Commercial Research would have to devote for that option.


Regarding runtime sizes it would not be such a problem if the size increased since most people using the internet are capable of downloading large files. Typically if they are downloading off the internet they more than likely also have upgraded Internet Explorer and other software which are in the 10-20 mb range.
Back to top
View user's profile Send private message
SnarlingSheep
Professional Member
Professional Member


Joined: 13 Mar 2001
Posts: 759
Location: Michigan

PostPosted: Thu Oct 14, 2004 12:13 am    Post subject: Reply with quote

Even on cable I wouldn't like a 1 MB runtime..
The problem is, there's never just one situation when you have internet clients. They could only want one of your files, meaning a built in runtime would be good, or they could want a few where an external, one-time-download, runtime would be better.
It should be an option no matter what size the runtime is, but the smaller the better of course. There are alot of people still on dialup.

_________________
-Sheep
My pockets hurt...
Back to top
View user's profile Send private message Send e-mail
jules
Professional Member
Professional Member


Joined: 14 Sep 2001
Posts: 1043
Location: Cumbria, UK

PostPosted: Thu Oct 14, 2004 7:50 am    Post subject: Reply with quote

Skit3000 wrote:
Just another little question, IF VDS 6 will come out with a "big" runtime DLL, maybe there should be an option with the VDS EXE files to download the runtime DLL from a central webserver, if it isn't available on the computer already... Smile


That's a good idea, but it's an issue that the developer can solve for himself. Actually I tried to do that with my Tech-Pro Utilities, which are all available as separate downloads, but only the main one contains the runtime files. If someone downloads one of the other utilities, the installer runs a small program that checks for the existence of vdsrun50.dll, and if it isn't there it tries to download the main module from the web. It's not a very sophisticated system. Unfortunately, only the very expensive installer packages have a proper "install from the web" capability.

_________________
The Tech Pro
www.tech-pro.net
Back to top
View user's profile Send private message Visit poster's website
jules
Professional Member
Professional Member


Joined: 14 Sep 2001
Posts: 1043
Location: Cumbria, UK

PostPosted: Thu Oct 14, 2004 8:01 am    Post subject: Reply with quote

SnarlingSheep wrote:
Even on cable I wouldn't like a 1 MB runtime..
The problem is, there's never just one situation when you have internet clients. They could only want one of your files, meaning a built in runtime would be good, or they could want a few where an external, one-time-download, runtime would be better.
It should be an option no matter what size the runtime is, but the smaller the better of course. There are alot of people still on dialup.


And there are people who could get your software on a magazine CD, say, who might not be happy at having to go on the Internet to get the main part. Really, the only way to ensure a trouble-free installation for everyone is to include all the files that are required.

I know that some people are writing software now that requires the .NET runtime, which is about 20MB, and I'm sure that a lot of people are put off trying the software as a result.

I'm coming round to the point of view that a 1MB runtime isn't a big deal any more. Any worthwhile application written in Delphi now will be at least that big on its own.

_________________
The Tech Pro
www.tech-pro.net
Back to top
View user's profile Send private message Visit poster's website
marty
Professional Member
Professional Member


Joined: 10 May 2001
Posts: 789

PostPosted: Thu Oct 14, 2004 12:05 pm    Post subject: Reply with quote

Bigger runtime DLL would not be a problem I think. I have been doing small apps with VDS for at leats 3 years now and I had to add other extensions anyway. Nobody ever complained about the size of my setup packages..( sometime up to 5 megs)

Also I am using another authoring tool and after compilation without any external DLL is about 650K (Which includes a Sound engine, most of VDS features, Flash support, VisualFX, Antilias fonts, Browser object, Alpha button support and of most of VDS functions (math, system,string manipulation,etc..) and more!) the runtime is packaged with the EXE, (which I would like to see in a future version of VDS)



Opting for Delphi 6 is a great idea. That would finally add more features to the basic VDS engine I am sure... Sometimes you have to sacrifice size for cool new features... Delphi 2 is limited but good.. I use Delphi 6 and I agree with you Jules that it would be a great idea to switch. Cant stay with Delphi 2 for ever right? Need to evolve one day..

My 2 cents.. Wink
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
CodeScript
Moderator Team


Joined: 08 Jun 2003
Posts: 1060
Location: India

PostPosted: Thu Oct 14, 2004 12:19 pm    Post subject: Reply with quote

Bigger runtimes may not be liked by a sizeable proportion of ppl.
One idea would be to make a selective compilation possible - Divide the required modules into say 5 or 6 and create a runtime on the fly depending on the features used by the app in question. The IDE Will put this runtime into the project folder.
If the app doesn't find this then it would secondarily look for the single version fat runtime.
This way non-newbies can create apps which are small in size.

_________________
Regards
- CodeScript
Arrow Give your application a professional look with the VDSGUI Extension
Back to top
View user's profile Send private message Visit poster's website
jules
Professional Member
Professional Member


Joined: 14 Sep 2001
Posts: 1043
Location: Cumbria, UK

PostPosted: Thu Oct 14, 2004 12:49 pm    Post subject: Reply with quote

marty wrote:
... the runtime is packaged with the EXE, (which I would like to see in a future version of VDS)

I know a few people would really like this. The reason it isn't an option is that you would actually need two runtimes, and it would involve a lot of extra testing, because some things have to be done different in a DLL than in an EXE. I actually have Delphi code that makes a self contained EXE (for testing difficult bugs, because you can't debug a DLL in Delphi 2) and some things don't work right, like windows minimize to a little block in the bottom corner of the desktop instead of the task bar, and stuff like that.

Given that Alloy is available for those who want an EXE that will just run, which uses the existing runtime, the extra work involved in creating this self contained XE option hasn't been considered very worthwhile. Most apps use an installer, in which case whether the runtime is integrated or separate is completely transparent to the user.

marty wrote:
Opting for Delphi 6 is a great idea. That would finally add more features to the basic VDS engine I am sure... Sometimes you have to sacrifice size for cool new features... Delphi 2 is limited but good.. I use Delphi 6 and I agree with you Jules that it would be a great idea to switch. Cant stay with Delphi 2 for ever right? Need to evolve one day..

My 2 cents.. Wink


Delphi 6 wouldn't in itself add much in the way of basic features. One advantage will be to get away from the primitive Delphi 2 memory manager, which among other things is responsible for the problems of lists being slow to load and having limited capacity. The other benefit is that it allows new features to be added easily, because the easiest way to do that is to use existing Delphi components, and most modern components just don't work with Delphi 2.

_________________
The Tech Pro
www.tech-pro.net
Back to top
View user's profile Send private message Visit poster's website
jules
Professional Member
Professional Member


Joined: 14 Sep 2001
Posts: 1043
Location: Cumbria, UK

PostPosted: Thu Oct 14, 2004 1:00 pm    Post subject: Reply with quote

CodeScript wrote:
Bigger runtimes may not be liked by a sizeable proportion of ppl.
One idea would be to make a selective compilation possible - Divide the required modules into say 5 or 6 and create a runtime on the fly depending on the features used by the app in question. The IDE Will put this runtime into the project folder.
If the app doesn't find this then it would secondarily look for the single version fat runtime.
This way non-newbies can create apps which are small in size.

I've been thinking about that, especially since I'm interested in using VDS to create console mode non-GUI utilities. I think it might be too difficult to put all the GUI stuff into a separate DLL, and many people might not like having to install two DLLs for every GUI VDS app. But it might be possible to build two versions of the runtime, one of which doesn't contain any GUI stuff. However, you'd only really gain anything if you could completely avoid dependence on the Forms unit, and even apparently GUI-less apps benefit from having invisible windows, such as for TCP/IP stuff. So on the whole, I would say that this is probably even less likely to happen than an integrated runtime option.

_________________
The Tech Pro
www.tech-pro.net
Back to top
View user's profile Send private message Visit poster's website
Skit3000
Admin Team


Joined: 11 May 2002
Posts: 2166
Location: The Netherlands

PostPosted: Thu Oct 14, 2004 3:00 pm    Post subject: Re: How important is runtime size? Reply with quote

jules wrote:
I just used it to create a simple GUI app with Delphi 6 in less than 20K! But it would be a lot of work to re-implement VDS using it now (though not as much as re-implementing it using API, of course!)


Can I ask how many lines the VDS runtime DLL is right now, so I can get an idea how much work it will be? Smile

_________________
[ Add autocomplete functionality to your VDS IDE windows! ]
Voor Nederlandse beginners met VDS: bekijk ook eens deze tutorial!
Back to top
View user's profile Send private message
jules
Professional Member
Professional Member


Joined: 14 Sep 2001
Posts: 1043
Location: Cumbria, UK

PostPosted: Thu Oct 14, 2004 3:10 pm    Post subject: Reply with quote

I don't know, since it comprises many different source files, but it is a lot of lines, even if you don't include the VCL source files (which of course you should Smile )
_________________
The Tech Pro
www.tech-pro.net
Back to top
View user's profile Send private message Visit poster's website
PGWARE
Web Host


Joined: 29 Dec 2001
Posts: 1565

PostPosted: Thu Oct 14, 2004 9:34 pm    Post subject: Reply with quote

For a 'self-contained' runtime couldn't you do this Julian:


Take the stub exe; include the runtimedll as a binary resource and have it extract out the dll with a TFileStream. It would do this at the very beginning of execution before running the SCRIPT portion; if the runtime is already within the system/current dir then do not extract.


I don't imagine it taking that much work but it may make the exe bigger since you would have to use TFileStream in your exe stub project.

You could even add it as an option for 'integrated' or not by allowing the compiler to decide to include the runtime as a resource into the stub or not.
Back to top
View user's profile Send private message
SnarlingSheep
Professional Member
Professional Member


Joined: 13 Mar 2001
Posts: 759
Location: Michigan

PostPosted: Thu Oct 14, 2004 9:38 pm    Post subject: Reply with quote

VDS is a $99 language and the developer is worried about the extra work it would take to implement a feature that most of the customers want..
Not to mention the extra work it'd take to fix bugs already in the language.
Just one of the many reasons VDS will be crushed by it's competitors.

_________________
-Sheep
My pockets hurt...
Back to top
View user's profile Send private message Send e-mail
FreezingFire
Admin Team


Joined: 23 Jun 2002
Posts: 3508

PostPosted: Fri Oct 15, 2004 12:01 am    Post subject: Reply with quote

Sometimes I prefer VDS 2 for the sole idea of the integrated EXEs.
One thing I find bad about extracting the runtime is that if the program
is on a CD etc., then it won't be able to extract it, since it is read-only.

VDS would be so much more popular though if there was an option to
create integrated EXEs. You have no idea how good that would be.

As for runtime size, I wouldn't mind having it a little bigger and a little
better. Smile

_________________
FreezingFire
VDSWORLD.com
Site Admin Team
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    forum.vdsworld.com Forum Index -> Miscellaneous All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum

Twitter@vdsworld       RSS

Powered by phpBB © 2001, 2005 phpBB Group