Visual FoxPro Developer Center > Visual FoxPro Forums > Visual FoxPro General > Speeding up Foxpro - New Server - Multicore ? Xp V's Server

Answered Speeding up Foxpro - New Server - Multicore ? Xp V's Server

  • Wednesday, June 20, 2007 9:59 AM
     
     

    Good morning,

     

    I am looking at a new machine to speed up a db i have in  foxpro.

     

    My quick question is for speed.

     

    Does Foxpro take advantage of Quad Cores over Duals ?

     

    and

     

    Is their a performance increase in Foxpro for Server OS instead of XP ?

     

    With Thanks

     

    Jason

Answers

  • Wednesday, June 20, 2007 10:22 AM
     
     Answered

    As far as I know VFP uses STA model and wouldn't take advantage of multi cores. However in case of MTDLL it might spread across cores (something like IIS then might use multicores I don't know for sure).

    You might take throughput advantage with processors like AMD Opterons (in turn you need a better and more expensive mainboard, ECC registered RAMS etc).

    Servers would have an advantage of inbound connections if nothing else (with XP it's limited to 10 max).

    It's hard to determine what type of hardware would be better for a particular application, in general, with multicores operating system would at least uitlize the CPU cores for multiple tasks (for example currently I have a double core Athlon and my VFP applications are fast even in the case of daily full virus scanning is taking place). For disks I'd recommend SCSI but they're expensive and SATA disks could be used instead with RAID configurations (instead of one big capacity disk, buy multiple smaller capacity disks).

  • Wednesday, June 20, 2007 5:24 PM
     
     Answered

    If you are running a vfp exe how will you know it's using all "cores"? You need a "core manager" to split code and "feed" all four cores in ~ same time in order to have maximum speed.

    Without a "core manager" exe may run only on one core and wait in a queve...

    Another way is to use a core exclusive for run vfp exe. It can be a increased speed...

     

  • Thursday, June 21, 2007 8:22 AM
     
     Answered
    Yes, VFP will take full advantage of multicore/multiple processors if you are using VFP's multi-threaded dlls(mtdlls) either with web development or with desktop VFP multi-threading (see http://www.codeplex.com/mtmyvfp and http://www.codeplex.com/vfpwebcrawler ).

All Replies

  • Wednesday, June 20, 2007 10:22 AM
     
     Answered

    As far as I know VFP uses STA model and wouldn't take advantage of multi cores. However in case of MTDLL it might spread across cores (something like IIS then might use multicores I don't know for sure).

    You might take throughput advantage with processors like AMD Opterons (in turn you need a better and more expensive mainboard, ECC registered RAMS etc).

    Servers would have an advantage of inbound connections if nothing else (with XP it's limited to 10 max).

    It's hard to determine what type of hardware would be better for a particular application, in general, with multicores operating system would at least uitlize the CPU cores for multiple tasks (for example currently I have a double core Athlon and my VFP applications are fast even in the case of daily full virus scanning is taking place). For disks I'd recommend SCSI but they're expensive and SATA disks could be used instead with RAID configurations (instead of one big capacity disk, buy multiple smaller capacity disks).

  • Wednesday, June 20, 2007 10:25 AM
     
     
    BTW multiple sessions of VFP or multiple calls to VFPOLEDB should be considered as multiple tasks and you could get multicore advantage indirectly.
  • Wednesday, June 20, 2007 1:56 PM
     
     
    In addition to what Cetin has said, the OS will take advantage of multi cores, so you will get a small performance boost in your VFP app without going to MTDLLs and ADO.
  • Wednesday, June 20, 2007 3:55 PM
     
     
    No Foxpro will not take advantage if operating system or bios does not have a "core manager".
  • Wednesday, June 20, 2007 4:54 PM
     
     

    Quote:

    "No Foxpro will not take advantage if operating system or bios does not have a "core manager".

     

     

    Too many Nos.

     

    Do you mean "Foxpro will not take advantage if operating system or bios does not have a "core manager".?

  • Wednesday, June 20, 2007 5:24 PM
     
     Answered

    If you are running a vfp exe how will you know it's using all "cores"? You need a "core manager" to split code and "feed" all four cores in ~ same time in order to have maximum speed.

    Without a "core manager" exe may run only on one core and wait in a queve...

    Another way is to use a core exclusive for run vfp exe. It can be a increased speed...

     

  • Thursday, June 21, 2007 8:22 AM
     
     Answered
    Yes, VFP will take full advantage of multicore/multiple processors if you are using VFP's multi-threaded dlls(mtdlls) either with web development or with desktop VFP multi-threading (see http://www.codeplex.com/mtmyvfp and http://www.codeplex.com/vfpwebcrawler ).
  • Thursday, June 21, 2007 10:26 AM
     
     

    Hi Claude,

    Congratulations, once again a great workSmile

     

  • Thursday, June 21, 2007 12:21 PM
     
     
    There are different problems. If you can be sure than each thread will run on his processor in same time the answer is yes ( you may use multi thread with one processor). It is a hardware and os problem. Take in account that each processor has frontsidebus, cache and cache controller so it is a real multitasking now and all depends how os manage resources, not vfp.