hii,i have to know about performance measurement and improvement library.itz our project topic for btech.plz give an idea about the topic.
content:how to improve a c++ program by calculating fn call,fn time,memory allocation and save pointers

Recommended Answers

All 11 Replies

First, profile the application to see where it is taking most of its time. Then, do an in-depth analysis of the code for the problematic sections. There are good tools for detecting memory errors and profiling, most of which seem to be owned by IBM these days. I have had very good results with Purify (memory checking, debugging, and analysis), Quantify (in-depth profiling), and PureCoverage (code coverage tool). These are link-time code-insertion tools developed by Purify, which was subsequently purchased by Rational, and Rational was subsequently purchased by IBM. IMO, for commercial tools, they are the best since you can instrument parts of the code for which you have no source code, such as system or other 3rd party libraries.

In any case, for large-scale systems, we were able to general an overall 60-80% performance improvement, and a very large stability improvement, using these tools.

commented: definitive +4

This is a framework used to monitor the performance of the system which is built on top of this framework. It shall be implemented as a UNIX library. C++ language is used to implement the library along with STLs, POSIX threads, Shared memory,IPC (Socket). The framework needs a client to analyse the current performance statistics of the system under examination. The client can be a console based text client or a Window based html page using the TCP/IP protocol to communicate with the framework. Framework can be customized to record the statistics of function call, function time, memory statistics etc

how can i implement this?pl giv help

Can you give more information to understand what exactly the project requirements are.

Initially I thought you want to know about the tools to find out the performance of a program/server, Rubberman already gave a reply for this. I want to add my 2 cets. Valgrind, one of the top open source to find out the performance,memory leak of a program. valgrind now a days come with lots of linux distribution.
efence, electric fence also a library to debug malloc.
http://linux.die.net/man/3/efence
pstack, ptrace are also some useful tools to debug runtime process.

But you second post confusing me, seems like you have to develop a c++ software to measure the performance of the system?

Can you clarify what exactly you project requirements are?

This is a framework used to monitor the performance of the system which is built on top of this framework. It shall be implemented as a UNIX library. C++ language is used to implement the library along with STLs, POSIX threads, Shared memory,IPC (Socket). The framework needs a client to analyse the current performance statistics of the system under examination. The client can be a console based text client or a Window based html page using the TCP/IP protocol to communicate with the framework. Framework can be customized to record the statistics of function call, function time, memory statistics etc

this is our project the technology used is

1. UNIX
2. C++
3. STL
4. POSIX Thread
5. Socket or Shared memory
6. Basics of TCP/IP

actually i need a c++ framework for improving performance

actually i need a c++ framework for improving performance

Go to the IBM web site and look for their Purify/Quantify tools (acquired when they purchased Rational, who previously purchased Pure who originally developed the tools).

actually i need a c++ framework for improving performance

Performance of what? If a program is I/O bound then your C++ library wont help that very much. Instead of listing the technologies you are required to incorporate try explaining what it is you hope to accomplish and how much work you've made toward that end. It would also be helpful to know what (if any) use of external tools your are permitted to use.

performance of a system..actually i have to improve an already existing program..
i think os level programming is needed..
thanx rubberman..
how can i develop a tool for improving the performance of a system by using the above technology?

we develop a use case diagram for the above topic.Actor is the user and it use cases are
1.thread details
2.memory details
3.process management
4.cpu utilization
how can i develop an activity diagram from the above use case diagram?

It sounds like you're looking for basic systems engineering understanding. This is a C++ programming forum. Various people here can point you in the right direction for certain kinds of programming questions, but it sounds like you're entirely out of your league as far as the requirements of your project, and no amount of tips or pointers here is going to fix that.

As far as developing an activity diagram from your use-case diagram, first take a look at http://www.agilemodeling.com/artifacts/activityDiagram.htm . Then if you have specific questions about your use case, it would be helpful if you provided a link to the use case diagram.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.