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 


Speed of Lists

 
Post new topic   Reply to topic    forum.vdsworld.com Forum Index -> General Help
View previous topic :: View next topic  
Author Message
X-Tools
Valued Contributor
Valued Contributor


Joined: 20 Sep 2001
Posts: 296
Location: Germany

PostPosted: Fri Aug 15, 2003 3:37 pm    Post subject: Speed of Lists Reply with quote

Hi,

i have one problem.
I have to compare around 50000 to 100000 entries in 2 lists.
Adding them to the list is really fast, but comparing (using @match)
is slow.

Are Ascii Lists faster then displayed lists ?

Bye, Fabian
Back to top
View user's profile Send private message Send e-mail Visit poster's website
LiquidCode
Moderator Team


Joined: 05 Dec 2000
Posts: 1753
Location: Space and Time

PostPosted: Fri Aug 15, 2003 3:57 pm    Post subject: Reply with quote

Are your lists on a dialog or are they hidden lists (Lists 1 - 12). If the lists are on a dialog, then yes it will be slow because it has to update the list graphically as well as search for the item. If they are in a hidden list, it should be pretty fast.
_________________
Chris
Http://theblindhouse.com
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Dr. Dread
Professional Member
Professional Member


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

PostPosted: Fri Aug 15, 2003 4:33 pm    Post subject: Reply with quote

If you compare an entire list of 50,000 items with another holding 100K then it will be quite slow
cause even though each @match() cycle does not take long then things add up when you multiply by
50K...

A word of caution for you: VDS lists get unstable around 100,000 items, so when you do a LIST LOADFILE then
check the result with @ok(), otherwise you may end up with a list that does not hold the last items in your
file.

If you wanna manipulate really large files of items, then take a look at the VDSLIST.DLL in Tommy's
VDSDLL3 package. It's very much faster when loading files and is consequently ideal if you do
random access to single items in a big list (i.e. load file - find a couple of items - extract those - 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
jwfv
Valued Contributor
Valued Contributor


Joined: 19 Mar 2002
Posts: 422
Location: Beaufort, SC

PostPosted: Fri Aug 15, 2003 5:00 pm    Post subject: Reply with quote

Does VDSLIST.DLL have a limit on the size of lists like VDS does?
_________________
Joe Floyd
Back to top
View user's profile Send private message
Tommy
Admin Team


Joined: 16 Nov 2002
Posts: 746
Location: The Netherlands

PostPosted: Fri Aug 15, 2003 10:54 pm    Post subject: Reply with quote

VDSLIST.DLL will have a more relaxed limit than VDS itself, though probably still
limit, but I couldn't even be sure myself about any exact limits.

For comparing two texts however, only to determine whether they are equal or not,
it could be a solution to use VDSMD5.DLL and compare the checksums of the two lists.
This doesn't provide 100% certainty, but should provide a very good indication.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Garrett
Moderator Team


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

PostPosted: Fri Aug 15, 2003 11:21 pm    Post subject: Reply with quote

You might also try a simple

Code:
If @equal(@text(1),@text(2))
    REM -- Lists are same as each other.
  Else
    REM -- List are not the same.
  End


If they are not the same, then do whatever you do to compare and
find the changes.

-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
X-Tools
Valued Contributor
Valued Contributor


Joined: 20 Sep 2001
Posts: 296
Location: Germany

PostPosted: Sat Aug 16, 2003 6:56 am    Post subject: Reply with quote

Hi,

thanks for all your answers. I will try the ascii lists and the vdslists.dll.

I cannot compare the whole file:
I am reading records from a mysql database and comparing
them for a synchronisation.
So List1 holds records of database1 (only a datetime field) and database2 the datetime of records of database2.
Then I compare both lists to find out whats newer.

At this time I have visible lists.
adding the 50000 records of the mysql database to the visible
lists is ready in around 10 seconds. comparing with the other list needs multiple minutes. I will try ascii lists (1-12)

Bye, Fabian
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Sanjuro
Contributor
Contributor


Joined: 01 May 2003
Posts: 59
Location: Norfolk-United Kingdom

PostPosted: Sat Aug 16, 2003 8:41 am    Post subject: Reply with quote

Would it be possible with VDSDB.dll to create a connection to both databases and then create a query that compares date/time functions from DB1 to DB2? Question

The connection is the easy part i think, but the SQL query string for 2 dbases is the tricky part. Crying or Very sad

Anyone with SQL expereince know if you can query 2 dbases like this? Question

Just my thoughts, I am in no way a database expert. Wink

Cheers
Sanjuro

_________________
"Apparently three out of four people make up 75 percent of the population. Smile
Back to top
View user's profile Send private message MSN Messenger
X-Tools
Valued Contributor
Valued Contributor


Joined: 20 Sep 2001
Posts: 296
Location: Germany

PostPosted: Mon Aug 18, 2003 9:23 am    Post subject: Reply with quote

Hi everyone.

Sanjuro, i am already doing 2 connections with the new mysql.dll, but comparing local is better than making thousands of single querys.


To all:

I have tested it running ascii lists:
on a firstsync (without entries in one database) the new sync was
up to 85% faster !!!

on a normalsync (entries in both databases with comparing) the
new one was up to 53 % faster Big Smile

This is really great. Thank you all.

Bye, Fabian
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    forum.vdsworld.com Forum Index -> General Help 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