2007-06-12 11:39:47 +01:00
|
|
|
================================================================
|
|
|
|
Logtalk - Open source object-oriented logic programming language
|
2007-11-06 01:50:09 +00:00
|
|
|
Release 2.30.7
|
2006-11-07 18:47:24 +00:00
|
|
|
|
2007-01-10 12:46:10 +00:00
|
|
|
Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
|
2007-06-12 11:39:47 +01:00
|
|
|
================================================================
|
2006-11-07 18:47:24 +00:00
|
|
|
|
|
|
|
|
|
|
|
% start by loading the loading the example:
|
|
|
|
|
|
|
|
| ?- logtalk_load(primes(loader)).
|
|
|
|
...
|
|
|
|
|
|
|
|
|
2007-03-28 23:44:31 +01:00
|
|
|
% NOTE: the example queries below use a SWI-Prolog proprietary predicate
|
|
|
|
% time/1 in order to get accurate goal times. For other Prolog compilers,
|
|
|
|
% replace the time/1 call by any appropriate timing calls (e.g. cputime/0).
|
|
|
|
|
|
|
|
|
2006-11-07 18:47:24 +00:00
|
|
|
% calculate the prime numbers in a given interval using a single thread:
|
|
|
|
|
2007-03-28 23:44:31 +01:00
|
|
|
?- time(primes(1)::primes(1, 500000, Primes)).
|
|
|
|
% 67,657,287 inferences, 11.97 CPU in 12.27 seconds (98% CPU, 5652238 Lips)
|
|
|
|
|
|
|
|
Primes = [2, 3, 5, 7, 11, 13, 17, 19, 23|...]
|
|
|
|
|
|
|
|
Yes
|
|
|
|
|
|
|
|
|
|
|
|
% calculate the prime numbers in a given interval by splitting the interval
|
|
|
|
% in two sub-intervals and using a thread per sub-interval:
|
|
|
|
|
|
|
|
?- time(primes(2)::primes(1, 500000, Primes)).
|
|
|
|
% 77 inferences, 11.71 CPU in 7.50 seconds (156% CPU, 7 Lips)
|
2006-11-07 18:47:24 +00:00
|
|
|
|
2007-03-28 23:44:31 +01:00
|
|
|
Primes = [2, 3, 5, 7, 11, 13, 17, 19, 23|...]
|
2006-11-07 18:47:24 +00:00
|
|
|
|
|
|
|
Yes
|
|
|
|
|
|
|
|
|
|
|
|
% calculate the prime numbers in a given interval by splitting the interval
|
2007-03-28 23:44:31 +01:00
|
|
|
% in four sub-intervals and using a thread per sub-interval:
|
2006-11-07 18:47:24 +00:00
|
|
|
|
2007-03-28 23:44:31 +01:00
|
|
|
?- time(primes(4)::primes(1, 500000, Primes)).
|
|
|
|
% 129 inferences, 11.57 CPU in 3.99 seconds (290% CPU, 11 Lips)
|
2006-11-07 18:47:24 +00:00
|
|
|
|
2007-03-28 23:44:31 +01:00
|
|
|
Primes = [2, 3, 5, 7, 11, 13, 17, 19, 23|...]
|
2006-11-07 18:47:24 +00:00
|
|
|
|
|
|
|
Yes
|