Russell Sherwood Sunday, December 17, 2017
Pushing the limit
Serious CC players are a little like Petrol-heads, these always want a bigger, more powerful machine. Often this is not possible for simple financial reasons! So how can the aspiring player improve their technical lot without spending (too) much money? For the purpose of this article, we will assume a laptop in use, so the processor cannot be upgraded.
#1 Current Version of Engine
For any engine, the latest version will give the best results. For the Free engines, it is a no-brainer, for the commercial ones it is something of a tougher decision. In addition to this consider if there is a faster version of the same engine – for example ASMFish for Stockfish!
#2 Version of Engine for your processor
Many engines these days come in a variety of versions. For example POPCNT, BMI…… If you have access to all of these, try them all note the results and this will determine which is the most suitable for your processor. Typically there can be around 10-20% difference between the fastest and slowest versions
#3 More Ram
The amount of Ram utilised determines the HashTable, which is one major determinant in the effective deep searching of the position. Pound for Pound maxing out your RAM is probably the most effective way to improve performance.
If you don’t have them then this is a simple performance improvement. Whilst they probably won’t win you many games they will steer you away from draws and losses
#5 External SSD
Following the use of Tablebases, an external SSD drive is an excellent way to improve performance. This much faster storage means that your Tablebase (and Opening book) access will be significantly faster
#6 Compile your own
Some of the Freeware engines can be compiled on your own machine – all of the Stockfish family can be done so using the Automated software. When compiled this was the compiler is taking note of your hardware and the engine will run that 10% faster than an “off the shelf” compile from another person.
#7 Don’t run other software at the same time
A no-brainer really. Ideally, you should not be running other software at the same time but many people still do. If you need to run a browser to enter your moves, look for one will a small “footprint” which does take too much away from the engine.
#8 Engine Settings
Check your engine parameter file settings. Is your Ram increased to 50% of your total? Is Large Pages enabled? Is the number of threads correct?
#9 Use a Cooling Pad
Multi-Core engine use creates a lot of heat, more than a typical laptop is designed to handle. The use of a cooling pad can help somewhat, both in cooling the laptop but making it more comfortable, especially if you do have it on your lap!
#10 Determine which GUI/Engine combination runs best on your machine
As shown in past research, certain combinations of GUI and Engine show significant performance swings. Experimentation here can reap rich rewards.
#11 Keep your OS up to date/Consider a Windows reinstall
Apply the OS and BIOS updates that come along, they will keep your machine running. Also consider re-installing Windows once in a while BUT make sure you back up everything first!
#12 Ensure Large Pages are enabled
We mentioned enabling Large Pages in the Engines parameter file but we need to ensure this is allowed on the machine. To do this Google “Enable Large Pages” and work from there! What are large pages you may ask? It's simply the way that windows stores things, this setting encourages Windows to keep items close together, which gives a small speed increase.
#13 Memory Boost
I discovered this one by accident. Certain high-quality USB sticks can have a “Windows Boost” feature enabled. This allows effectively extra Ram to be utilised to help out the Operating system.
Once in a while, reboot your machine. Why? Even the best Operating system in the world leaves bits of junk in memory and over time this clogs up the system. By rebooting this is cleaned out. How often? That depends on you but I tend to do it at least daily, more often depending on circumstances.
#15 Horses for Courses
I noticed a strange phenomenon with AsmFish/CFish and Stockfish. Normally we would expect Asmfish > CFish > Stockfish in terms of speed but in Endgame analysis this is often not the case. Trial your own engines to determine the truth for you!
So what do you get from all of these – potentially something like 40-50% improved performance if you were badly set up beforehand. This won't mean you go 50% deeper but will mean you get to the same Depth 50% faster!