I've been doing some performance testing using the various CMIS bindings for
Alfresco. I'm using Workbench 0.8 against Alfresco Enterprise 4.1.2 (and
4.1.2.8). I have the following simple test script:
---
import org.apache.chemistry.opencmis.client.api.*
import groovy.time.*
Date start = new Date();
println start;
OperationContext ctx = session.createOperationContext();
println session.getObjectByPath("/Google Legal DMS/M&A Projects/My
Project/Forms").getChildren(ctx).getTotalNumItems();
Date stop = new Date();
println stop;
TimeDuration td = TimeCategory.minus( stop, start )
println td
println "DONE";
---
For the longest time it appeared to me that all 4 binding options I could test
3.x AtomPub, 3.x Web Services, 4.x AtomPub and 4.x Web Services all performed
the same. When I started testing later I'd still see all of the performance
being the same, but it might be significantly different than it was earlier in
the day. What I have discovered is that if I quit Workbench and create one of
these connections, open the console and run my script. I see consistent
performance for that binding. If I quit and restart Workbench and use a
different binding, open a console and run the same script, I consistently see
different performance.
So now I can get a handle on the performance differences between the bindings,
but I can't just click the Connection toolbar button and switch bindings, I
have to fully quit Workbench and restart to switch bindings.
-- Bindu