O-Prolog Ver0.591:
?- time(test).
Elapsed Time=0.136000 (second)
SWI-Prolog (threaded, 64 bits, version 7.7.0):
?- time(test).
% 287,256 inferences, 0.016 CPU in 0.022 seconds (71% CPU, 18384384 Lips)
Why do you think you are faster than SWI-Prolog?
P.S.: I am using this test case:
-------------- begin test case --------------------
nodiag([], _, _).
nodiag([N|L], B, D) :-
D =\= N - B,
D =\= B - N,
D1 is D + 1,
nodiag(L, B, D1).
qdelete(L, A, A, L).
qdelete([H|T], X, A, [A|R]) :-
qdelete(T, X, H, R).
search([], _, []).
search([H|T], History, [Q|M]) :-
qdelete(T, Q, H, L1),
nodiag(History, Q, 1),
search(L1, [Q|History], M).
% queens(-List)
queens(X) :-
search([1,2,3,4,5,6,7,8,9], [], X).
test :- queens(_), fail; true.
-------------- end test case --------------------