For which operating system do you compile your program? For windows or linux?

About the amount of memory, you should definately be able to get information from the memory manager about the allocated memory size. But when you use external libraries usually they allocate memory using their own memory managers so you cannot catch their memory usage. If you need to monitor you program's memory usage and track for memory leaks and your program is running on windows, i can definately advise you to try this program - VMMap. It can monitor the memory blocks your process has allocated, and it can trace the call stack of each allocation.

About performance, you could measure execution time of your whole program or separate procedures very easily. For example if you want to measure how much time does it take to execute procedure called DoSomething(), then you can do like this:

Code:
var 
  T: Int64;
begin
  T := GetTickCount;
  DoSomething();
  T := GetTickCount - T; //Now variable T will hold the execution time of your procedure in milisecond units.
  //Output this value somewhere you can see it.
End;