The Performance of Javas Hash Set and TreeSet Essay
Description
you will test and compare the performance of Java’s HashSet and TreeSet.
The HashSet class is Java’s implementation of a hash set: https://docs.oracle.com/javase/7/docs/api/java/util/HashSet.html. The TreeSet class is Java’s implementation
of a red-black tree: https://docs.oracle.com/javase/7/docs/api/java/util/TreeSet.html
Your goal is to compare the performance of inserting and searching in HashSets and
TreeSets. You need to do this by timing the execution time of the methods on various data
sizes. Here are some specifications you need to abide by:
1. Use System.nanoTime() to time execution of code blocks.
2. Use a sufficient number of test sizes (e.g., 5+) to clearly see any performance differences between the methods.
3. Use a sufficient range of test sizes to clearly see any performance differences between the methods.
4. Run each test size multiple times (e.g., 10 or so) to ensure you are capturing inevitable performance variations (e.g., in machine status, random data,…). Average the runs to get an average result for each test size.
5. Use Random(seed) to generate random data elements. Be sure to use a seed so that you are using identical data when comparing method performance.
6. Make sure you are timing exactly what you want to be looking at, and make sure you are consistent across the different methods.
7. Produce two graphs using Excel (or something similar) that illustrate your findings. One graph will be to compare the insertion time between HashSets and TreeSets. The other graph will be to compare the search time between HashSets and TreeSets. Both graphs will have the test sizes on the x-axis and the measured running time on the y-axis (units?). There should be two graphs (not one!) since you are doing two different experiments and comparisons.
8. Write a quick paragraph or two describing your findings as well as an explanation for why the HashSets performed so much better than the TreeSets in your experiments.
Have a similar assignment? "Place an order for your assignment and have exceptional work written by our team of experts, guaranteeing you A results."