Hi all,

I'm testing ACL on acegi with the following scene:

Application Contacts with 10010 contacts.
Where 
    dianne have access to 4 conctacts
    scott have access to 5 contacts
    marissa have access to all contacts

When I run getAll() , this (with cache) I obtain following execution times:
    dianne : 800 ms
    scott: 825 ms
    marissa: 250 ~ 285 ms

Because of this diference (marissa between others)  I debug
BasicAclEntryAfterInvocationCollectionFilteringProvider method and I
discover that getFilteredObject() occupies 300~350 ms.

So I change CollectionFilterer class to remove object directly from
iterator, like this:

/**
 * A filter used to filter Collections.
 */
class CollectionFilterer implements Filterer {
 ...
    private Collection collection;
    private Set removeList;
    private Iterator collectionIter;

    .... 
    ....
    ....


    /**
     * @see net.sf.acegisecurity.afterinvocation.Filterer#iterator()
     */
    public Iterator iterator() {
            collectionIter = collection.iterator();
        return collectionIter;
    }

    /**
     * @see 
net.sf.acegisecurity.afterinvocation.Filterer#remove(java.lang.Object)
     */
    public void remove(Object object) {
        //removeList.add(object);
        //this.collection.remove(object);
        collectionIter.remove();
    }
}

( I change this only to test purpose )


 When I run it again I obtain following execution times:
    dianne : 203~344 ms
    scott: (don't run with scott)
    marissa: with same times 

My suggestion is, if we optimize time to remove domain objects we
optimize a lot all process.

Ps: Sorry my english.

Thanks,
Paulo


-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_idt12&alloc_id344&op=click
_______________________________________________
Home: http://acegisecurity.sourceforge.net
Acegisecurity-developer mailing list
Acegisecurity-developer@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acegisecurity-developer

Reply via email to