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 


Big lists

 
Post new topic   Reply to topic    forum.vdsworld.com Forum Index -> Bug Reports
View previous topic :: View next topic  
Author Message
Dr. Dread
Professional Member
Professional Member


Joined: 03 Aug 2001
Posts: 1065
Location: Copenhagen, Denmark

PostPosted: Thu Jul 03, 2003 1:35 pm    Post subject: Big lists Reply with quote

Like the previous versions VDS5 has problems with big lists. I can create a list and fill it with for instance
150,000 items and save it to a file. But if I want to load the list back in from the file, then it breaks at
about 100K items.

Test:
Code:
%%file = @path(%0)vdslist_multiK.lst

list create,1
gosub fillist
list loadfile,1,%%file

if @ok()
 info List loaded with @count(1) items
else
 info Error in loading file %%file - @count(1) items loaded
end

list close,1
file delete,%%file

stop
:fillist
%%inc = 1
repeat
  list add,1,%%inc
  %%inc = @succ(%%inc)
until @greater(%%inc,150000)
list savefile,1,%%file
if @ok()
  info List created
  list clear,1
else
  info Couldn't create list
  stop
end
exit


Greetz
Dr. Dread

_________________
~~ Alcohol and calculus don't mix... Don't drink and derive! ~~

String.DLL * advanced string processing
Back to top
View user's profile Send private message
Garrett
Moderator Team


Joined: 04 Oct 2001
Posts: 2149
Location: A House

PostPosted: Thu Jul 03, 2003 9:02 pm    Post subject: Reply with quote

Isn't this related to how much memory is installed and limitations of the
Windows OS itself??

-Garrett

_________________
'What you do not want done to yourself, do not do to others.' - Confucius (550 b.c. to 479 b.c.)
Back to top
View user's profile Send private message
Dr. Dread
Professional Member
Professional Member


Joined: 03 Aug 2001
Posts: 1065
Location: Copenhagen, Denmark

PostPosted: Thu Jul 03, 2003 9:57 pm    Post subject: Reply with quote

I dunno what the reason is. I'm pretty sure that this has nothing to do with available memory coz even though
this list has a lot of entries it's only about 1MB in size.

And the thing that makes me wonder is that I can create and save a list with 150,000 items by cycling a "list add"
command - no problems. But after clearing the list, I cannot get the exact same data into the very same list by
"list loadfile" - it breaks somewhere around 100,000 recs (but not at specific count - it will vary each time)...

Greetz
Dread

_________________
~~ Alcohol and calculus don't mix... Don't drink and derive! ~~

String.DLL * advanced string processing
Back to top
View user's profile Send private message
DanTheMan
Contributor
Contributor


Joined: 15 Mar 2002
Posts: 56
Location: Sweden

PostPosted: Fri Jul 04, 2003 11:12 am    Post subject: Reply with quote

Tryed your script Dr. ,but when running I've got this :



Although the file "vdslist_multiK.lst" contains 150000 posts, things
are not going well here ...

/Dan


Last edited by DanTheMan on Fri Jul 04, 2003 11:48 am; edited 1 time in total
Back to top
View user's profile Send private message
DanTheMan
Contributor
Contributor


Joined: 15 Mar 2002
Posts: 56
Location: Sweden

PostPosted: Fri Jul 04, 2003 11:30 am    Post subject: Reply with quote

Some problem with the included "popup" image. Sad

Should be:

Oops!

VDS has caused an exeption of class "EThread"
It may be wise to save your work, close VDS and then restart it.

/Dan
Back to top
View user's profile Send private message
Garrett
Moderator Team


Joined: 04 Oct 2001
Posts: 2149
Location: A House

PostPosted: Fri Jul 04, 2003 7:54 pm    Post subject: Reply with quote

Decided to give this a try to see if I could also get the same result... I also
received the error mentioned above. After clicking the button, twice, the
script continued and eventually got the popup message showing the list
counts:

101280 items loaded

Then, thought I'd give this a try in VDS 4:

102160 items loaded

Ok, let's try VDS 3 now.....

102144 items loaded

Ohhh, let's try VDS 2 just for the fancy of it:

102080 items loaded

Well, that's all the versions I have for testing this. This was done on
Windows ME. Anyone try this on 2k or XP?

BTW, the resulting file is about 1.03 Mb

-Garrett

_________________
'What you do not want done to yourself, do not do to others.' - Confucius (550 b.c. to 479 b.c.)
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 Jul 31, 2003 6:36 pm    Post subject: Reply with quote

It's the same on XP. The problem is in the version of Delphi that the VDS runtime is built with. A Delphi test program that tried to load the file produced an "Out of memory" error. Unfortunately, that means the problem isn't fixable in the short term.
_________________
The Tech Pro
www.tech-pro.net
Back to top
View user's profile Send private message Visit poster's website
FreezingFire
Admin Team


Joined: 23 Jun 2002
Posts: 3508

PostPosted: Thu Jul 31, 2003 8:25 pm    Post subject: Reply with quote

Please don't take this the wrong way, I'm not trying to start any sort of
fight or anything. Just wondering. Smile

Will we ever see VDS compiled in a newer version of Delphi? It seems that
VDS has a lot of limits that could be fixed by compiling with a new version
of Delphi... I think the standard version only costs about $99, I may be
wrong. I know that it invloves a lot of work to update the code, but I think
it would be more than beneficial to VDS to upgrade it to a newer version
of Delphi. Smile

_________________
FreezingFire
VDSWORLD.com
Site Admin Team
Back to top
View user's profile Send private message Visit poster's website
PGWARE
Web Host


Joined: 29 Dec 2001
Posts: 1563

PostPosted: Thu Jul 31, 2003 8:37 pm    Post subject: Reply with quote

The new version of Delphi costs about $399 if you are updating from previous versions, $999 for first time buyers. The personal edition $99 is only for freeware and for applications for personal use, you cannot distribute commercial/shareware applications with the personal edition of Delphi.

As to recompiling VDS in Delphi:

It wouldn't require just opening the vds project in Delphi and hitting compile, I suspect alot of changes would be required and any components VDS uses would also need to be Delphi 7 compatible. This would be a major update to VDS though and would probably be a whole new version of VDS. I don't know if customers would appreciate seeing (speculation) vds 6 with little to no new features but just recompiled in Delphi 7 to fix some outstanding bugs.
Back to top
View user's profile Send private message
FreezingFire
Admin Team


Joined: 23 Jun 2002
Posts: 3508

PostPosted: Thu Jul 31, 2003 9:29 pm    Post subject: Reply with quote

PGWARE wrote:
It wouldn't require just opening the vds project in Delphi and hitting compile...


I know that. I am not pushing this. I was just saying that sometime in the
future, will we ever see it upgraded to a new version of Delphi? Smile
I don't know. That's up to the developers. But that was my opinion on the
situation.

FreezingFire wrote:
I know that it invloves a lot of work to update the code...

_________________
FreezingFire
VDSWORLD.com
Site Admin Team
Back to top
View user's profile Send private message Visit poster's website
CodeScript
Moderator Team


Joined: 08 Jun 2003
Posts: 1060
Location: India

PostPosted: Fri Aug 01, 2003 1:37 am    Post subject: Reply with quote

Additionally the size of exe and especially runtime would grow very much I think Question
_________________
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
Skit3000
Admin Team


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

PostPosted: Fri Aug 01, 2003 8:32 am    Post subject: Reply with quote

When compiled in a new version of Delphi, VDS could 'create' new bugs... Rolling Eyes
_________________
[ 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: Fri Aug 01, 2003 9:08 am    Post subject: Reply with quote

When we began work on VDS 5, we had to make a decision whether to continue using Delphi 2 for the runtime or not. (The new IDE was developed using Delphi 6.) When VDS began, Delphi produced good, lean code making it a good choice of tool for this type of development. The latest versions of Delphi create much larger files because the VCL includes support for enterprise database stuff. If compiled in Delphi 6, the run time would be more than twice the size and much of this extra code would be not be used by VDS.
We took the decision that a small run-time was a good selling point for VDS. Most of the bugs or limitations of Delphi 2 have been worked around in VDS. Unfortunately, this particular issue is caused by limitations of the Delphi memory manager which is so integral to the Delphi 2 VCL that it would not be possible to work around it using Delphi 2 except by rewriting the VDS runtime so it didn't use the Delphi VCL at all. This would introduce even more incompatibilities than using a newer version of Delphi.
I think what happens in the future depends on what VDS users see as the main uses and benefits of VDS. Is a much bigger run-time a price worth paying for getting rid of these limitations and adding new features, bearing in mind that many users may only be developing simple scripts, and may be put off by this?
As some have said, it is not a matter of just recompiling the code with a newer version of Delphi. Some bugs and incompatibilities would inevitably occur, requiring more extensive testing. Therefore this is an issue to consider for the next major release, rather than 5.01 or whatever the next bug-fix update will be called.

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


Joined: 03 Aug 2001
Posts: 1065
Location: Copenhagen, Denmark

PostPosted: Fri Aug 01, 2003 10:38 am    Post subject: Reply with quote

Well, as this issue is not gonna be fixed in foreseeable future, I'd suggest that others using VDS for
handling bulk lists (above 100,000 items) use the VDSLIST.dll from Tommy's VDSDLL3 collection.

Now a number of bugs have been fixed, making this DLL stable and much much faster for loading
large files into lists. If you wanna cycle through the lines in big lists, you may wanna use plain VDS lists:
with VDSLIST the file will be loaded much quicker but because getting each line involves a call to the
external DLL, it may be quicker in total time to use a normal VDS list. If you want to pick out single lines
from the file (random access) then VDSLIST will outspeed plain VDS lists by multiple factors.

Greetz
Dr. Dread

_________________
~~ Alcohol and calculus don't mix... Don't drink and derive! ~~

String.DLL * advanced string processing
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: Fri Aug 01, 2003 10:52 am    Post subject: Reply with quote

I think this illustrates the great thing about VDS extensibility. It's possible to create a solution to a problem that affects only a few people without bloating the runtime with code that most people won't use, just by using a DLL instead. It's worth bearing in mind that VDS lists were also intended to be compatible with list type window elements, and many of these have even more severe capacity limitations.
_________________
The Tech Pro
www.tech-pro.net
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 -> Bug Reports All times are GMT
Page 1 of 1

 
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