Greetings,
We did another round of PLT (performance/load testing) against our Abdera-based Atom Store last week, before we push the latest rev into Production. And YourKit pointed at a place to make a small, but noticeable performance tweak (NOTE: we are on 0.3.0)
James, I know you are focused on this lately, and may find this helpful?

We found that *over half the time* spent in constructing the FOM of a Feed/Entry for the Response, is spent in the IRI decoder!!
This happens in several places. For example;
              category.setScheme( String scheme );
              entry.addLink( String uri, String rel );

These methods take a String, but verify that it is indeed a valid URI -- only to convert it back to a String again.
We worked around this in our code by doing hacks like this::

        //        entry.addLink(fileURI, "self");

        /*<hack>*/
        Link link = factory.newLink(entry);
        link.setAttributeValue(Constants.HREF, fileURI);
        link.setRel("self");
        /*</hack>*/

But IMHO, it might be nice for Abdera to make this verification optional. Similar to how XML parsers allow people to choose whether to verify their XML or not (most users do not in Production).

e.g.   addLink( String uri, String rel, boolean validate );

Thanks,
-- Chris
S'all good  ---   chriswberry at gmail dot com



Reply via email to