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

Reply via email to