Performance Measurement

A new programming language is introduced to implement monitoring and control systems:

· Explain how you would verify that executable code that is generated from the source code of this language is capable of running on multiple processors simultaneously.

· Research and discuss the capabilities and drawbacks of at least two code profiling tools that you would use to measure the performance of the new programming language.

find the cost of your paper

Sample Answer

 

There are a few ways to verify that executable code that is generated from the source code of a new programming language is capable of running on multiple processors simultaneously.

One way is to use a compiler that supports multiprocessing. This compiler will generate code that is specifically designed to be executed on multiple processors. The compiler will typically do this by breaking the code down into smaller tasks that can be executed independently on different processors.

Full Answer Section

 

Another way to verify that executable code is capable of running on multiple processors is to use a runtime environment that supports multiprocessing. This runtime environment will manage the execution of the code on multiple processors. The runtime environment will typically do this by creating threads of execution and then scheduling these threads to run on different processors.

Finally, you can also verify that executable code is capable of running on multiple processors by manually testing the code. This can be done by creating a test case that exercises the code on multiple processors. The test case should be designed to ensure that the code is able to take advantage of the parallelism of multiple processors.

Research and discuss the capabilities and drawbacks of at least two code profiling tools that you would use to measure the performance of the new programming language.

There are a number of code profiling tools that can be used to measure the performance of a new programming language. Here are two code profiling tools that I would use:

  • Valgrind is a free and open-source code profiling tool that can be used to analyze the memory usage and performance of C and C++ programs. Valgrind can be used to identify memory leaks, memory errors, and performance bottlenecks.
  • Intel® VTune™ Amplifier is a commercial code profiling tool that can be used to analyze the performance of C, C++, Fortran, and Java programs. Intel® VTune™ Amplifier can be used to identify performance bottlenecks, hot spots, and code that is not optimized for the target processor.

The capabilities of Valgrind and Intel® VTune™ Amplifier are similar in many ways. Both tools can be used to analyze the memory usage and performance of programs. However, there are some key differences between the two tools.

Valgrind is a free and open-source tool, while Intel® VTune™ Amplifier is a commercial tool. This means that Valgrind is more affordable than Intel® VTune™ Amplifier. However, Intel® VTune™ Amplifier offers a wider range of features and capabilities than Valgrind.

Valgrind is also more lightweight than Intel® VTune™ Amplifier. This means that Valgrind can be used to profile programs that are more memory-constrained. However, Intel® VTune™ Amplifier can provide more detailed information about the performance of programs.

Ultimately, the best code profiling tool for you will depend on your specific needs and budget. If you are looking for a free and open-source tool that is lightweight and easy to use, then Valgrind is a good option. If you are looking for a commercial tool with a wider range of features and capabilities, then Intel® VTune™ Amplifier is a good option.

Here are some of the drawbacks of Valgrind and Intel® VTune™ Amplifier:

  • Valgrind can be slow and can introduce overhead to the programs that it is profiling.
  • Intel® VTune™ Amplifier can be expensive and can be difficult to use.

Despite these drawbacks, Valgrind and Intel® VTune™ Amplifier are both powerful code profiling tools that can be used to measure the performance of new programming languages.

This question has been answered.

Get Answer