Open Side Menu Go to the Top

03-19-2013 , 03:55 AM
I am working on the hand evaluation for poker simulation software and found e poker-eval-java branch of http://gna.org/projects/pokersource/, described here: http://www.codingthewheel.com/archiv...kersource_saie

The library uses JNI to communicate with DLL's. For calculcating range vs range equities I use the method SAIE.FlopGameSAIE and get the following response times:
AA vs KK : 3 sec
AKs AK JJ+ vs QQ+ : 45 sec


What performance can I expect? Is the overhead using Java too high for range comparisons like I did here?
Are there ways to configure JVM or DLLs, or maybe use another JVM?

I run Win 7, JDK 1.7.17 on a 2,93GHz machine with 16GB RAM.

All tips are greatly appreciated!
Pokersource poker-eval-java performance Quote
Pokersource poker-eval-java performance
150% up to $2,000 Welcome Bonus on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
Pokersource poker-eval-java performance
03-21-2013 , 02:53 AM
Has anyone made a java port of poker-eval yet? I'm imagining (pure speculation) a pure java implementation would be faster than anything that uses JNI.
Pokersource poker-eval-java performance Quote
07-16-2013 , 11:17 AM
Do you compile poker-eval java with jdk7 successful?
I try to compile it for about 2 days, but I get from problem to another.

I use this source: http://svn.gna.org/svn/pokersource/b...ker-eval-java/

On windows with mingw, I have the same problem like: https://mail.gna.org/public/pokersou.../msg00001.html
The answer from sascha is useless. Same problem on trunk code. https://mail.gna.org/public/pokersou.../msg00002.html

On Ubuntu I cant even use ./configure successful. It breaks with the error message: No Makefile

I'd appreciate any help.
Pokersource poker-eval-java performance Quote
07-18-2013 , 09:26 AM
I've run the 2+2 evaluator on the JVM using clojure. I got at least 2M evals/sec. I want to say that I got up to 3M at one point. I gave a brief recap of the process and code on page 5 of the "I built a bot" thread.
Pokersource poker-eval-java performance Quote
07-18-2013 , 03:45 PM
It's tough to do better than this. You should find the code in the link you posted.

Code:
__forceinline void RiverRankMany(int n, int * __restrict ranks, byte const * __restrict holes, byte const * __restrict board)
{
	int b;
	b = HR[53 + board[0] + 1];
	b = HR[b + board[1] + 1];
	b = HR[b + board[2] + 1];
	b = HR[b + board[3] + 1];
	b = HR[b + board[4] + 1];

	#pragma loop_count min(2), max(6), avg(2)
	for (int i = 0; i < n; i++)
		ranks[i] = HR[HR[b + holes[2*i] + 1] + holes[2*i+1] + 1];
}
Pokersource poker-eval-java performance Quote
07-18-2013 , 08:02 PM
You should be able to port Steve Brecher's hand evaluator to Java quite easily:

http://www.brecware.com/Software/software.html

Juk
Pokersource poker-eval-java performance Quote
07-19-2013 , 05:42 PM
Any thoughts of the performance of various hand evaluation algorithms in parallel environments? Are there cases where cost of memory access is enough that the 2+2 algorithm falls behind, particularly for simulations where you would expect more cache misses?
Pokersource poker-eval-java performance Quote
Pokersource poker-eval-java performance
150% up to $2,000 Welcome Bonus on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
Pokersource poker-eval-java performance

      
m