mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

neil_a_wilson
11.43.2007 28b171be51fb5f44c21b6a55665cb4b843a5d444
refs
author neil_a_wilson <neil_a_wilson@localhost>
Tuesday, September 11, 2007 03:43 +0200
committer neil_a_wilson <neil_a_wilson@localhost>
Tuesday, September 11, 2007 03:43 +0200
commit28b171be51fb5f44c21b6a55665cb4b843a5d444
tree bfac73f417d48b29140c5aa692b481614e1a37ae tree | zip | gz
parent 3f4d8336ce5dcfb7a287ac59fb97b060339b26d5 view | diff
Make a number of relatively simple changes to provide basic performance
improvements, including:

- Replace occurrences of StringBuffer with StringBuilder. As of Java 5,
StringBuilder is almost always a better choice than StringBuffer because it
provides all the same methods but doesn't have the synchronization overhead.

- Update the JE backend DN2URI class (which is responsible for keeping track of
smart referrals in the database) to keep track of whether there are any
referrals in the underlying database so that it doesn't go to the DB if it
can be certain that there aren't any referrals to get.

- Update the JE backend ImportJob class to provide a simple cache for parent ID
lookups so that it can avoid the need to go to the underlying DB to get the
entry ID for a parent entry if it's contained in the cache.

- Update the salted password storage scheme variants so that they use an
instance of java.util.Random rather than java.security.SecureRandom to
generate the salt. There really isn't a need for a cryptographic-quality
random number generator for salt generation, and the java.util.Random
implementation is much faster than the java.security.SecureRandom
implementation.

- Update the DN class to return a reference to the precomputed NULL_DN instead
of creating a new DN with zero RDN components when decoding DNs from strings
or octet strings. Also, use LinkedList rather than ArrayList for temporary
storage of RDN values to avoid the hit of allocating memory that we may not
need.


- Update the Entry class to cache the result of LDIFImportConfig.typesOnly(),
which has been observed to slightly improve MakeLDIF performance.

- If Java 6 is available, then prefer using it to set file permissions over
Runtime.exec() on UNIX systems. Even though it's potentially less
fine-grained than using exec to call chmod, it's faster and safer to use the
Java methods if they're available.
27 files modified
336 ■■■■ changed files
opendj-sdk/opends/src/build-tools/org/opends/build/tools/GenerateMessageFile.java 1 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/build-tools/org/opends/build/tools/MessagePropertyKey.java 2 ●●● diff | view | raw | blame | history
opendj-sdk/opends/src/guitools/org/opends/guitools/statuspanel/StatusLog.java 2 ●●● diff | view | raw | blame | history
opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/QuickSetupLog.java 2 ●●● diff | view | raw | blame | history
opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/Installer.java 2 ●●● diff | view | raw | blame | history
opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/upgrader/RemoteBuildManager.java 8 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/util/Utils.java 6 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/admin/client/cli/DsFrameworkCliServerGroup.java 6 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/backends/jeb/DN2URI.java 85 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/backends/jeb/ImportJob.java 53 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/core/NetworkGroup.java 4 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/core/NetworkGroupNamingContexts.java 4 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/core/RootDseWorkflowTopology.java 4 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/core/WorkflowTopologyNode.java 4 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedMD5PasswordStorageScheme.java 6 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA1PasswordStorageScheme.java 8 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA256PasswordStorageScheme.java 6 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA384PasswordStorageScheme.java 6 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/extensions/SaltedSHA512PasswordStorageScheme.java 8 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/loggers/debug/DebugStackTraceFormatter.java 4 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/loggers/debug/TextDebugLogPublisher.java 2 ●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/types/DN.java 33 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/types/Entry.java 9 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/types/FilePermission.java 17 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/util/StaticUtils.java 2 ●●● diff | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/core/NetworkGroupTest.java 38 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/core/WorkflowTopologyTest.java 14 ●●●● diff | view | raw | blame | history