Welcome Guest, you are in: Login

Assaultware Wiki

RSS RSS

Navigation





Search the wiki
»

PoweredBy

NoteCaddy speed improvement

RSS
Modified on 2015/03/31 06:25 by Administrator Categorized as Uncategorized

NoteCaddy note creation speed depends on a number of factors:

  • The most important obviously being PC hardware. See Recommended Computer Specs for details.
  • The size of your database is also very important. If you have 10 million hands or more, then it doesn't matter how good your hardware is, you should expect some slowdowns as new player notes need to be merged into existing notes which takes time.
  • Your definitions can also make a big difference. Having more definitions will take more time to process than having less definitions. Having more complicated definitions takes more time as well. Having definitions that lead to a large number of successes can slow down note creation speeds significantly due to the fact that new notes need to be merged into existing notes

Keep in mind that it is perfectly normal for processing speeds to slow down as more hands are processed. The reason is that there are more notes to merge and write back to the database. That said, there are things that can be done from a software perspective to optimize performance.

Setting PostgresSQL to work optimally

There are a number of articles on the PostgresSQL wiki that cover this subject in depth. A good starting point is this article, particularly the shared_buffers, effective_cache_size, and logging sections. Allowing PostgresSQL to use more of your system resources than the defaults can yield significant performance increases

Setting NoteCaddy to use more system resources

By default, NoteCaddy is set to use as few resources as possible. The reason for this is so that your CPU usage stays very low. When some people see HM2 using 40-50% cpu time, the conclusion is that any slowdown is caused by this. This is not necessarily true though because you still have 50-60% capacity on your CPU! What we'll do next is increase the speed of NC dramatically and then you can make your own conclusion about whether it has an impact on your performance.

Let's go into the NoteCaddy tab through hm-apps. Next we go to file->settings and we see a screen similar to the one pictured.

Image

I've highlighted the two things you should consider changing. First off is "use turbo hand grabber". This opens a much faster connection to your database. The next item is the thread count. By default this is set to 1 but you can set it higher depending on how many cores your computer has. If you have an i3 or any type of underpowered machine you may want to leave it at 1.

Identifying slow definitions

Individual definitions can slow down note creation speed significantly. The following are ways that this can happen:

  • Too many notes. If you have a definition that takes a note for every player in every hand, you should expect a slowdown since NoteCaddy has to merge it and then write back to the database
  • Looking at player stats. If you filter by player types then there is a good chance that the associated color definition looks at player stats. If the color definition is using compiled stats then the slowdown will not be particularly severe. However, if it is using stats from the "HM2 stats" tab then the slowdown is likely to be significant. The reason for this is how HM2 computes players stats . HM2 loads every hand for a player and recalculates the stats in real time. This system has many benefits but it will undoubtedly cause a slowdown, particularly if you're trying to breeze through millions of hands. Consequently, the more hands a player has the more time it will take his stats to load

Further Reading

The best available guide for tuning your system for optimal performance is the one written by Alan Jackson for his AJackson advantage pack. Even people who don't use his pack can greatly benefit from these tips

NoteCaddy Performance Guide v1.2

HEM has also published a great article on what users can do to improve performance HEM Article

ScrewTurn Wiki version 3.0.5.600. Some of the icons created by FamFamFam.