Hi,
I can't think of anything that would make a difference but that doesn't
mean there isn't. JENA-1238 [Add getProperty(...,lang)] is close but I
don't think affects the code path of listStatements(,,,lang).
Can you share data and the test program? Small details, sometimes with
no direct connection, can change things like disk access patterns, when
the JIT cuts and other java foo.
Andy
On 22/10/16 17:06, François-Paul Servant wrote:
there seems to be a big slowdown between 3.1.0 and 3.1.1-SNASHOT when searching
for literals. Here are the results of some experiments using the default graph
of a TDB store (~50 million triples), searching for the label in one lang of
some resources.
Here’s my code. I store in a Mem Model labels of resources.
Resource s = res.inModel(m);
Property p = labelProp.inModel(m);
boolean labelAdded = false;
if (chrono != null) chrono.start("addLabelToRes”);
StmtIterator sit = m.listStatements(s, p, null, lang);
if (sit.hasNext()) {
resultModel.add(sit);
labelAdded = true;
}
sit.close();
if (chrono != null) chrono.stop("addLabelToRes”);
With 3.1.0 :
addLabelToRes - total time (ms): 11 count: 1336 mean (ms): 0.008233533
With 3.1.1-SNAPSHOT :
labelsForVal.addLabelTo - total time (ms): 249 count: 1336 mean (ms): 0.18637724
I made several tries. Results vary but they are fairly consistent:
3.1.1-SNASHOT is 20 times slower than 3.1.0
fps