Recent

Author Topic: x_86_64 / ProcThreadPool  (Read 1911 times)

AlanTheBeast

  • Jr. Member
  • **
  • Posts: 52
x_86_64 / ProcThreadPool
« on: January 02, 2016, 04:31:45 pm »
Hi,

I'm running several parallel threads that are each processing files on separate external disks.  If I compile w/o specifying the processor, everything works fine.  (default is i386).

But I want to take advantage of the _64.  When I do so, the program crashes with the exception: "Exception: Pool destroyed" when the program calls "ProcThreadPool.DoParallel".

If I compile w/o specing the processor (defaults to i386) there is no problem.

The program is processing intensive (using MD5Stream on the files) and I'm hoping to get more speed by using -Px86_64.

Does this mean that ProcThreadPool needs some tune up to run correctly for _64?

(OS X 10.11, fpc 3.0.0, i7 quadcore/HT).

Happy New Year,  :)
Alan

AlanTheBeast

  • Jr. Member
  • **
  • Posts: 52
Re: x_86_64 / ProcThreadPool
« Reply #1 on: January 02, 2016, 06:00:31 pm »
Moot - while _64 makes some programs faster, the current MD5stream is slower when compiled for _64 by about 5 - 7%.

Looking at the code it could be optimized for 64 bit operations, but looks like a bear to do in ones free time ...

Jonas Maebe

  • Hero Member
  • *****
  • Posts: 687
Re: x_86_64 / ProcThreadPool
« Reply #2 on: January 04, 2016, 09:04:03 am »
Hi,

I'm running several parallel threads that are each processing files on separate external disks.  If I compile w/o specifying the processor, everything works fine.  (default is i386).

But I want to take advantage of the _64.  When I do so, the program crashes with the exception: "Exception: Pool destroyed" when the program calls "ProcThreadPool.DoParallel".

If I compile w/o specing the processor (defaults to i386) there is no problem.

The program is processing intensive (using MD5Stream on the files) and I'm hoping to get more speed by using -Px86_64.

Does this mean that ProcThreadPool needs some tune up to run correctly for _64?
No, it should work fine. We will need a compilable example program that demonstrates the problem to help you further.