Peter Rehm's Blog

apple,development,life & more

Performancetests / Profiling in C

without Comments

Dies musste ich heute einsetzen beim Testen eines Sortieralgorithmus.

Man compiliere sein Programm wie folgt:

CODE:
gcc -o ex1b -pg -ansi ex1b.c


Danach muss das Programm einmal ausgeführt werden

CODE:
./ex1b


Danach kann man sich direkt die Profiling Informationen anzeigen lassen, in meinem Fall:

CODE:
gprof ./ex1b


CODE:
granularity: each sample hit covers 4 byte(s) for 0.81% of 1.23 seconds

  %   cumulative   self              self     total           
 time   seconds   seconds    calls  ms/call  ms/call  name    
 91.9       1.13     1.13        1  1130.00  1130.00  _ins_sort [3]
  2.4       1.16     0.03                             ___sfvwrite [4]
  1.6       1.18     0.02        2    10.00    10.00  _print_array [5]
  1.6       1.20     0.02                             _write [6]
  0.8       1.21     0.01                             ___vfprintf [7]
  0.8       1.22     0.01                             _localeconv_l [8]
  0.8       1.23     0.01                             _printf [9]
  0.0       1.23     0.00        1     0.00     0.00  _create_random_array [39]
  0.0       1.23     0.00        1     0.00  1150.00  _main [1]


Index by function name

   [4] ___sfvwrite           [3] _ins_sort             [5] _print_array       
   [7] ___vfprintf           [8] _localeconv_l         [9] _printf            
  [39] _create_random_arra   [1] _main                 [6] _write 

Posted by Peter Rehm

12/01/2006 at 01:54:34 PM

Posted in Programmierung

Defined tags for this entry: , ,

Xdebug zum Performancetest in PHP

without Comments

Es ist während der Entwicklung immer interessant zu sehen wie performant der Code ist, bzw. wie viele Funktionen gestartet werden.

Dies kann man alles mit xdebug einsehen. Xdebug lässt sich über PEAR sehr einfach installieren.

Achtung! Diese Installation beziegt sich auf ein OSX Betriebssystem mit Apache 1.x und dem zufolge xdebug 1.
Eventuelle Ähnlichkeiten mit anderen Plattformen sind vollkommen unbeabsichtig.
CODE:
pear install xdebug


Danacht muss nun Xdebug nur noch in der PHP Config vermerkt werden. Ich empfehle davor noch ein Verzeichnis anzulegen, in dem man den ganzen Krempel dann ablegen lässt.

CODE:
mkdir /xdebug/
sudo chmod -R 777 /xdebug/

Nun machen wir uns an das Bearbeiten der php Config

CODE:
;;xdebug
zend_extension="/usr/lib/php/extensions/no-debug-non-zts-20020429/xdebug.so"
xdebug.auto_trace=1
xdebug.auto_profile=1
xdebug.profiler_enable=1
xdebug.output_dir="/xdebug/"


So werden autmatisch alle Seitenaufrufe geparst. Ist aber nicht zu empfehlen, da wenn man das mal vergisst und eine Woche an einem Projekt arbeitet ein dickes temporäres Verzeichnis entstehen kann.

Posted by Peter Rehm

07/19/2006 at 04:08:09 PM

Posted in Verschiedenes

Defined tags for this entry: , ,

Mac OSX: Internet teilweise langsam

with 2 Comments

Immer wieder kommt es vor, dass ich das Gefühl habe dass das Surfen unter OSX sehr träge ist. Dem bin ich heute auf den Grund und denk, dass ich die Ursache gefunden habe.

Wenn man unter Systemeinstellungen -> Netzwerk für die verwendete Umgebung unter TCP/IP IPv6 deaktiviert geht es etwas schneller.

Das Problem war auch nur beim Auflösen und nicht beim Runterladen oder so.

Naja, vielleicht ist das Problem damit gelöst.

Posted by Peter Rehm

01/15/2006 at 06:55:00 PM

Posted in Apple

Defined tags for this entry: , ,