I have doubts like I should count the number of nodes. I have seen some programs that they add 1 node every time that they enters in the serach and also 1 node every time that they enters in the qsearch, me, I up to now in my program I had also this way.
In the last version, I have changed the system, count the nodes after the function makemove (), as much in the search as in the qsearch, the result is that now my program has half of nps, before approximately 1.000.000, now approximately 500.000, I was always missed that big it was my nps, more considering that my move generator is based on a board of 64 elements, without using mailbox, 0x88, bitboard, etc (firstchess).
Even, among the programs pointers there is a lot of difference, 400.000 for shredder, 1.000.000 for Fritz or without speaking of Rybka that doesn't arrive at the 100.000 in my system (maybe Rybka no count nodes in qsearch)
So I suppose that it is complicated to unify approaches. But which the most correct form that you think?