The following is performance results from Grouper API calls using both Grouper 2.3.0 and Grouper 2.2.2. Each call was made several times and an average was taken. Both Grouper instances were prepopulated with equivalent data before performing this test. Default configuration was used with the exception of database settings in grouper.hibernate.properties.
Here's a summary of what was prepopulated:
Immediate memberships and privileges: 1,074,446
Attribute assignments: 125,400
Attribute def names: 41,895
This data was mostly added by running edu.internet2.middleware.grouper.helper.LoadData.
Note that these tests were run on a test database server that's shared with other applications so your results will vary... A single Oracle 11g database instance was used for both Grouper versions. Both versions were installed on separate schemas. The test was executed by:
- Using the Grouper API to add any required data for the operation. For instance, the effective membership add/delete tests required creating a group with 1000 members.
- Then using the Grouper API to run the operation several times (mostly either 10 times or 100 times) and taking an average of the time.
Grouper 2.3.0 (ms)
Grouper 2.2.2 (ms)
Attribute def name create
Assign role permission
Remove role permission
Attribute def name delete
AttributeDef create (type=perm)
AttributeDef delete (type=perm)
Membership add where member is a group
Membership delete where member is a group
Membership add causes composite
Membership delete causes composite
Group privilege (update) add
Group privilege (update) delete
Stem privilege (create) add
Stem privilege (create) delete
Effective membership (1000) add
Effective membership (1000) delete