Benchmarking the behavior of java implementations

Assignment Help Data Structure & Algorithms
Reference no: EM133528812

Project

The first project involves benchmarking the behavior of Java implementations of two of the following sorting algorithms, bubble sort, selection sort, insertion sort, Shell sort, merge sort, quick sort or heap sort. You must post your selection of the two algorithms that you chose in the "Ask the Professor" conference. Every student must have a unique combination of algorithms..

You must write the code to perform the benchmarking of the two algorithms that you selected. You do not have to write the sorting algorithms yourself, you may take them from some source, but you must reference your source.

You must identify some critical operation to count for each algorithm that reflects the overall performance and modify each of the two sorting algorithms so that they count that operation. In addition to counting critical operations you must measure the actual run time in nanoseconds.

In addition, you should examine the result of each call to verify that the data has been properly sorted to verify the correctness of the algorithm. If the array is not sorted, an exception should be thrown.

It should also randomly generate data to pass to the sorting methods. It should produce 40 data sets for each value of n, the size of the data set and average the result of those 40 runs. The exact same data must be used for both sorting algorithms. It should also create 12 different sizes of data sets. Choose sizes that will clearly demonstrate the trend as n becomes large. Be sure that the data set sizes are evenly spaced so this data can be used to generate graphs in project 2

This project should consist of two separate programs. The first of those programs should perform the benchmarking described above and generate two data files, one for each of the two sorting algorithms.

The benchmarking program must be written to conform to the following design:

1187_Benchmarking program.jpg

The purpose of the methods in the abstract class AbstractSort are as follows:

• The method sort is an abstract method that must be implemented in both of your classes that contain the sorting methods that you have selected
• The startSort method should be called before the sort begins and it should initialize the counter and record the starting time of the sort
• The endSort method should be called after the sort ends and it should compute the elapsed time of the sort
• The incrementCount method should be called whenever the critical operation that you selected is executed and it should increment the critical operation counter
• The getCount method should return the final value of the counter
• The getTime method should return the elapsed time

The output files should contain 12 lines that correspond to the 12 data set sizes. The first value on each line should be the data set size followed by 40 pairs of values. Each pair represents the critical element count and the time in nanoseconds for each of the 40 runs of that data set size. The values on each line should be delimited by spaces.

The second program should produce the report. It should allow the user to select the input file using JFileChooser. The report should contain one line for each data set size and five columns and should be displayed using a JTable. The first column should contain the data set size the second the average of the critical counts for the 40 runs and the third the coefficient of variance of those 40 values expressed as a percentage. The fourth and fifth column should contain similar data for the times. The coefficient of variance of the critical operation counts and time measurement for the 40 runs of each data set size provide a way to gauge the data sensitivity of the algorithm.

1393_Benchmarking report.jpg

 

On the due date for project 1, you are to submit a .zip file that includes the source code for both programs. All the classes should be in the default package.

You must research the issue of JVM warm-up necessary for properly benchmarking Java programs and ensure that your code performs the necessary warm-up so the time measurements are accurate.

Reference no: EM133528812

Questions Cloud

How cultural safety is integrated at your workplace : Do you think we could improve practices for cultural safety at the workplace? If so, how? how cultural safety is integrated at your workplace
Discuss three challenges that face social service sector : Discuss three challenges that face the social service sector and that you need to overcome in this project.
How would you solve or defuse potential conflicts : How would you solve or defuse potential conflicts that may compromise the results in a project's output? Use the concepts from the reading to address question.
Positive and successful culture in coaching environment : Analyze how these coaching methods would be effective to be build a positive and successful culture in a coaching environment.
Benchmarking the behavior of java implementations : Research the issue of JVM warm-up necessary for properly benchmarking Java programs and ensure that your code performs the necessary warm-up so the time measure
Design the strategies necessary to motivate the team : Design the strategies necessary to motivate the team to be highly effective by fulfilling needs and aspirations. Present your proposal in Power Point.
What documentation and record-keeping techniques can you use : Why is it necessary to document and report activities and tasks that put clients and/or other workers at risk? What documentation and record-keeping techniques
Which draws upon multiple contemporary literature sources : Present your definition of clinical leadership relevant to your discipline (dentistry) which draws upon multiple contemporary literature sources.
What do you think about the controversy surrounding : What do you think about the controversy surrounding the different world concert and ritual dances that are being changed as they become commercialized?

Reviews

Write a Review

Data Structure & Algorithms Questions & Answers

  Describe an algorithm that identifies the top logn flyers

Tamarindo Airlines wants to give a first-class upgrade coupon to their top log n frequent. Describe an algorithm that identifies the top logn flyers in O(n).

  Write a function with the heading function nonodes

Write a function with the heading: function NoNodes( t : treeptr) : natural whose value is the number of nodes on the tree t.

  Modify the recursive quicksort to call mergesort

Modify the recursive quicksort to call mergeSort on its current subarray if the level of recursion has reached depth.

  Find the two closest points from the list

Show how the algorithm would proceed to find the two closest points from the list [(1,2),(1,11),(7,8),(9,9),(12,13),(13,4) ,(20,8),(22,3),(23,12),(25,14),(26,7)(31,10)].

  Show how a program could use this function to print value

Here is a fragment of a program that uses this function: answer = 4 result = cube(3) print answer, result The output from this fragment is 4 27. Explain why the output is not 27 27, even though cube seems to change the value of answer to 27.

  What step in the proof fails if messages can be duplicated

Show that the relationship in Lemma 6. 19 also holds if mes­ sages can get lost in the channel pq, but not if messages can be duplicated. What step in the proof fails if messages can be duplicated?

  Develop random-looking permutation using efficient algorithm

Generating a random permutation using the algorithm in Section 9.4 involves a large number of (expensive) calls to a random number generator.

  Write the pseudocode to find the minimum key

Use the following tree to answer the questions: Write the a pseudocode to find key 36 successor. Write pseudocode to find the minimum key in the previous tree?

  Primitives-remove ambiguities in algorithm-s representation

Describe how the use of primitives helps remove ambiguities in an algorithm's representation.

  Create a data flow diagram of some given system

Create a data flow diagram of some system. Can use a real world example or a hypothetical one. Write a summary explaining the data flow diagram and trust boundaries.

  Define a function for appending sorted lists

Define a function for appending sorted lists. You get 5 points just for the type of the function, and 10 more points for the code

  Build a set of numerical images from a set of arrays

In this problem the goal is to build a set of numerical images from a set of arrays and generate a set of features using the discrete cosine transform

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd