{'fraction_non_alphanumeric': 0.025192442267319804, 'fraction_numerical': 0.0, 'mean_word_length': 5.975609756097561, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Exploring Performance Improvement for Java-based Scientific Simulations

There has been growing interest for using the Java programming language in scientific and engineering applications. This is because Java offers several features, which other traditional languages (C, C++, and FORTRAN) lack, including portability, garbage collection mechanism, built-in threads, and the RMI mechanism. However, the historic poor performance of Java stops it from being widely used in scientific applications. Although research and development on Java resulting in JIT compilers, JVM improvement, and high performance compilers, have been done much for runtime environment optimization and significantly speeded up the Java programs, we still believe that creating hand-optimized Java source code and optimizing code for speed, reliability, scalability, and maintainability are also crucial during program development stage. In this paper, we demonstrate an agent-based simulation model that is built using Java programming language and the Swarm simulation library. We analyze the performance of this simulation model from several aspects: runtime optimization, database access, objects usage, parallel and distributed computing. This simulation model possesses most of characteristics which general scientific simulations have. These techniques and analysis approaches can also be generally used in other scientific simulations using Java.