By vanilla algorithm, are you refering to a basic MCTS, with complete random node selection and simulations ?
In my case, I had a hard time beating the boss with at least 30k rollouts at second turn. I used UCT to select nodes.
Anyway I agree with the need to optimize everything.
There are still two things that I don't know if I can optimize :
1) Does anyone know exactly how/when is the time measured ? Is it possible to compute things before the main loop / between each turn ?
2) Did someone achieve to use multithreading and improve the number of rollouts ? I tried and failed, since the time launching/waiting for threads is too high compared to the 100ms that we have. Did I miss something ?