|XP is just a number
How many updates a second do you need? Do you need to read the counters for any other reason (other than to increment them)? Are there any other processes accessing this data?
An alternative approach is to write a simple server which mediates access to the data store. Writers communicate with it via a pipe or socket. It would also allow you to implement complex atomic operations (like incrementing a value) without having to resort to locking.