|
|
(1) Posted by Geoff Foster [Wednesday, Apr 13, 2011 03:31] |
Popeye performance My new PC has an Intel i5 650 @3.20 GHz processor with 8GB RAM. Its performance when running Popeye (pywin64.exe) is very good, but when I test certain problems it seems to reach some kind of memory limit, after which performance is very poor. When this happens I restart Popeye using "option StartMoveNumber", which fixes things.
What is going on? Would the "-maxmem" command line option help? |
|
(2) Posted by Dan Meinking [Thursday, Apr 14, 2011 05:53] |
@Geoff: Using maxmem may help. It does change the RAM allocation, but from the few times I've used it I cannot report any noticeable performance improvement. |
|
(3) Posted by Geoff Foster [Friday, Apr 15, 2011 00:31]; edited by Geoff Foster [11-04-15] |
Is the following syntax correct? How much memory should I specify?
C:|Popeye455|pywin64.exe C:|Popeye455|a.inp -maxmem 100M
EDIT: I've used "|" characters in the above command because back-slash characters are removed when I submit this message. |
|
(4) Posted by Dan Meinking [Friday, Apr 15, 2011 00:54] |
According to the doco, these two examples accomplish the same thing:
-maxmem 40960
-maxmem 40M |
|
(5) Posted by Geoff Foster [Wednesday, Apr 27, 2011 09:55] |
The syntax I used was incorrect. The "-maxmem" option must be specified before the input file, so the correct command is:
C:|Popeye455|pywin64.exe -maxmem 100M C:|Popeye455|a.inp
Once again I've used "|" characters in the above command because back-slash characters are removed when I submit the message. |
|
(6) Posted by Torsten Linß [Thursday, Apr 28, 2011 00:06] |
Using the -maxmem option you can specify the amount of memory used for hash tables. Using more hash memory is particularly useful for series movers and help (stale)mates [without option intelligent], but is also advantageous for other stipulations. It is particularly beneficial when Popeye takes a lot of time to test a problem.
You can use almost all of your computer's physical memory for Popeye's hash tables, but leave some memory for your operating system. When starting more instances of Popeye [your computer probably has more than just 1 processor/core] make sure that the sum of the allocated memory does not exceed the physical memory. My notebook has 2 processors and 4GB. Typically I run Popeye with 1-2GB which leaves some resources for a second instance and/or other programs... |
|
(7) Posted by Thomas Maeder [Tuesday, May 31, 2011 23:06] |
QUOTE You can use almost all of your computer's physical memory for Popeye's hash tables, but leave some memory for your operating system. When starting more instances of Popeye [your computer probably has more than just 1 processor/core] make sure that the sum of the allocated memory does not exceed the physical memory. My notebook has 2 processors and 4GB. Typically I run Popeye with 1-2GB which leaves some resources for a second instance and/or other programs...
I think that it is worthwile explaining Popeye's (recent versions' anyway) behavior if the user does not indicate -maxmem:
Windows versions of Popeye ask the operating system for the size of the available (i.e. not used by the operating system or other programs) physical memory and use that (rounded down) as the maximum size of the hash table.
On other platforms (most notably Unix including Linux and Mac), Popeye simply assumes 1GB as the maximum size. Maybe the /proc file system should be used where available.
This means that on Windows, it is rarely a good idea to use -maxmem to get a high maximum size; but, as Torsten wrote, it can be used to make simultaneous Popeye processes behave nicely. On other platforms, -maxmem can be useful for making the hash table large or small. |
|
No more posts |
MatPlus.Net Forum Internet and Computing Popeye performance |