Le dim. 22 déc. 2019 à 21:23, Kingsley Idehen <kidehen(a)openlinksw.com> a écrit :
On 12/22/19 4:17 PM, Kingsley Idehen wrote:
On 12/22/19 3:17 PM, Amirouche Boubekki wrote:
Hello all ;-)
I ported the code to Chez Scheme to do an apple-to-apple comparison
between GNU Guile and Chez and took the time to launch a few queries
against Virtuoso available in Ubuntu 18.04 (LTS).
Spoiler: the new code is always faster.
The hard disk is SATA, and the CPU is dubbed: Intel(R) Xeon(R) CPU
E3-1220 V2 @ 3.10GHz
I imported latest-lexeme.nt (6GB) using guile-nomunofu, chez-nomunofu
and Virtuoso:
- Chez takes 40 minutes to import 6GB
- Chez is 3 to 5 times faster than Guile
- Chez is 11% faster than Virtuoso
Regarding query time, Chez is still faster than Virtuoso with or
without cache. The query I am testing is the following:
SELECT ?s ?p ?o
FROM <http://fu>
WHERE {
?s <http://purl.org/dc/terms/language>
<http://www.wikidata.org/entity/Q150> .
?s <http://wikiba.se/ontology#lexicalCategory>
<http://www.wikidata.org/entity/Q1084> .
?s <http://www.w3.org/2000/01/rdf-schema#label> ?o
};
Virtuoso first query takes: 1295 msec.
The second query takes: 331 msec.
Then it stabilize around: 200 msec.
chez nomunofu takes around 200ms without cache.
There is still an optimization I can do to speed up nomunofu a little.
Happy hacking!
If you are going to make claims about Virtuoso, please shed light on
your Virtuoso configuration and host machine.
How much memory do you have on this machine? What the CPU Affinity re
CPUs available.
I did not setup CPU affinity?.. I am not sure what it is.
Is there a URL for sample data used in your tests?
The sample data is
https://dumps.wikimedia.org/wikidatawiki/entities/latest-lexemes.nt.bz2
Looking at
https://ark.intel.com/content/www/us/en/ark/products/65734/intel-xeon-proce…,
your Virtuoso INI settings are even more important due to the fact that we have CPU
Affinity of 4 in play i.e., you need configure Virtuoso such that it optimizes behavior
for this setup.
Thanks a lot for the input. My .ini file is empty. There is 4 cpu/core
on the machine I using with 32GB or RAM. What should I do?
Thanks in advance!
--
Amirouche ~
https://hyper.dev