Penrose performance is highly dependent on these factors:
- types of queries
- complexity of the mapping
- performance of the data sources
- network connection
- server performance
The performance of different types of queries will vary greatly depending how Penrose processes the query. A base search that pulls one entry from the data source will be faster than a subtree search that returns millions of entries.
Simple mapping (e.g. direct mapping to a stored procedure) would run very fast, whereas complex mapping that involves joining several sources (e.g. joining 2 LDAP servers) will run relatively slower.
The performance of the data source itself will affect Penrose because by default Penrose does not store any data and has to retrieve the data for every query issued by the client.
If the network connection is slow, returning a large set of results will take some time.
Although Penrose is lightweight, the processor speed, memory size, and disk speed of the server will affect the performance too.