Discussions related to Visual Prolog
Active Member
Posts: 35
Joined: 5 Sep 2019 19:30

VIP Version 10!

Unread post by choibakk »

Yesterday, I saw VP 10 was available. I purchased the upgrade, and ported NADYA2.1 Chess to VIP10 to test the 64-bit intrinsic bit-wise operators (and memory profiler which is now fixed).

I ran my "perft" test suit (a standard algorithm in chess engines) and have processed the correct move counts on about 320 million chess moves using the intrinsic 64-bit (bit-wise) operators of VIP10. The results were perfect.

This also improved the performance of NADYA2.1 by a margin of almost 4%, which is a big deal for a chess engine. I ran a 100 game tournament with VIP9 NADYA2.1 vs. VIP10 NADYA2.1. That 4% gave the VIP10 compiled version the edge. It defeated the VIP9 version 36 Wins, 26 Losses, and 38 ties. Normally competing the same engine against itself would result in a dead tie.

NADYA2.0 recently defeated a world rated competitive chess engine--but is now my research engine. I am well into NADYA3.0 which is designed to be up to 50x faster than 2.1.

The only test of my suite that failed is (in a 64-bit application) "V = 1 << 32" still produces a value of zero. However, this may very well be as designed--(defaulting to a 32-bit integer domain). I created a constant "ui64_1:unsigned64 = 1.", and replace that code with "V = ui64_1 << 32" which works perfectly.

Ty, PDC!

P.S. "Object Expressions" is an incredibly cool enhancement to the language.
User avatar
Thomas Linder Puls
VIP Member
Posts: 1253
Joined: 28 Feb 2000 0:01

Re: VIP Version 10!

Unread post by Thomas Linder Puls »

Nice to hear about good results.

It is a bug that 1 << 32 does not work as expected. You have reported this before, but it must have escaped my mind; it will be fixed in the next release (this time I have made the necessary change).
Regards Thomas Linder Puls
Post Reply