Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations wOOdy-Soft on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

2.6 -v- 6

Status
Not open for further replies.

Grimwaldi

Programmer
Nov 1, 2002
58
GB
I did a simple test to show the speed difference between fox 2.6 (win & dos) & Vfp 6.

I did a simple "select * from table" on a large table and did it on all three platforms in random order a number of times. DOS averaged 0.11 secs, WIN was 0.22secs and Vfp 61.2seconds!

Is there a problem with Vfp or what?
 
Grimwaldi,
Many things can factor into this, and without a full discussion of your system (and server?) specs and the exact testing methodology, it's really not a valid comparison.

Mac Rubel has done a number of well documented and controlled benchmark tests over the years, and he concluded that while in certain situations things may be slower, overall each new version of VFP is better optimized for the current OSs and machine hardware. (In some cases that means changing code, data, indexes and even the way you approach a given problem!)

Rick
 
My machine is a Pent II with 100MB ram, ON WIN98. I was accessing the same table (shared of course). Same machine, same table, same indexes, random sequences Everything was equal. Code page checks off, etc. It must be a valid comparision.
 
At a minimum, that amount of memory is more than enough for FoxPro, but depending on what else you have loaded, it's probably not enough for VFP. And while VFP will run on a Win 9x machine, since VFP 6.0 it's been optimized for a NT/XP/2000/2003 class machine.

One thing I didn't mention before is that there are so many things you can do in VFP (especially 9.0 :)) that can't even be coded in FP!

Rick
 
I take your point on the number of features available. I have loaded a sample db onto my xp box at home using 224MB of ram and Fox2.6 is still faster. Accessing data is foxpro's unique selling point. Why has it not improved? Has MS took their eye off the ball and tried too hard to merge it with the rest of their products.

Rant over.
 
Make sure you have all the settings the same. In particular, make sure SET DELETED is the same in all the versions when you test.

The results you report make me suspect that in FP2.x, you're simply filtering the source table, while in VFP, you're actually making a copy. An easy way to check this is to check DBF("Query") afterwards. If it's the source table, then it will be blazingly fast, but there are some serious limitations.

Tamar
 
All versions had "set deleted on", "set date to brit", "set cent on","set talk on", etc. No virus software running, but it wouldn't make a difference as it would effect all versions of Fox.

DBF('query') is the same for the both fp26 and Vfp6. What limitations are they?
 
[query]it wouldn't make a difference[/query]
I don't know enough about the inner workings of Fox to say whether the difference versions make more or less use of temporary files and whether the checker will be checking some and ignoring others.

In general though I agree with you. I remember being very disappointed with performance when we moved from DOS 2.0 to Win 2.5.

Geoff Franklin
 
Hi,

VFP slower than DOS?

Try this a 2.2 milion records table (184 MB) a query with positive result of 3140 reccords in < 0.1 sec. Hardly believe you can achieve this in DOS, at least I don’t remember these figures in those days.
Maybe there is something wrong with your coding. Advise you to invoke Markus Eggers Coverage Snippet Analyzer on your coding good chance you will locate the culprit.

(Just in case you don’t believe my example: and look for “Wilson” Street in the USA

Best regards,
Koen
 
Was it on a sql-server back-end? or native foxpro. My sql code was from the command prompt querying data on the network, then at home on the c drive (See my orignal post) Everything was equal, but the results were that Fpd26 and Fpw26 were faster than Vfp.

The situation is that I am looking to transport various Foxpro programs in DOS and WIN to Vfp6. If the older version is faster at simple selects then I need know what new coding constructs(tricks) I need to employ to keep the speed up. The users may like the new widgets, but if they have to wait more than a seconds then I'll be in trouble.

I need to know why it is slower at sql!
 
Sorry to show ignorance, but I have never heard of sql-pass through. What is it?
 
I'm not using sql server at the moment, but needs be,I'll have to use that or Mysql, as I've read that it is faster than sql server, even without prepared statements.
 
One reason some versions of MySQL are faster than MS SQL Server in some situations is that it isn't nearly as full an implementation of capabilities. The security, backup, transaction, scalability and other capabilities of MySQL are much more limited. It's big "selling" point is that it's a LOT cheaper - sometimes you get what you pay for.

Rick
 
Well MS Sql server & Mysql are way off in the future as I have DOS & Windows programs to upgrade to VFP. This must be done incrementaly as everything must continue to work. If the users complain that I will either have implement a sql server written in VFP that I saw on WiKi or look to Codebase. I downloaded a test copy and found it to outperform foxpro petty well.

But the point that I raised about the speed difference, no seems to know why! It's most likely because not many people migrated from 2.6 to 6 (still in the stone ages) or if they did they had to aquire Sql Server to maintain performance.

Not to worry I will have think about n-tier design at some point anyway.

 
Well the statement that "... not many people migrated from 2.6 to 6 ..." is just not true. I've done a number of these and even some 2.0 to 5.0 - further back in the "stone age"! (And in the process of converting a hugh VFP 6.0 w/ VFP data to VFP 9.0 w/ SQL Server data application. Note that this is more for scalability and security than it is for speed. In many situations VFP is faster than SQL Server!)

I still think that you are not making "fair" comparisons to make your conclusions - but that my opinion.

Rick
 
I recently wrote a program in dBase 5 from the mid-1990s, roughly equivalent to FoxPro for DOS, and virtually identical routines in VFP 6, except for the user interface. dBase took a few minutes to run and VFP 6 took maybe 10 seconds!

Quite a while back I tested macrosubstitution & versus the EVAL() function. Naturally, EVAL() is at least 2 times faster than &. Since VFP 6 is more flexible in where EVAL() can be used, & is not needed as much and so again, that means VFP comes out on top - again.

While the graphics overhead no doubt slows down the newer Windows-aware program to a certain extent, the newer 32-bit program will almost always vastly outperform a 16-bit program.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top