Peter Rehm's Blog

apple,development,life & more

Performancetests / Profiling in C

Ohne Kommentare

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 

Geschrieben von Peter Rehm

01.12.2006 um 13:54:34

Abgelegt in Programmierung

Tags für diesen Artikel: , ,

Xdebug zum Performancetest in PHP

Ohne Kommentare

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.

Geschrieben von Peter Rehm

19.07.2006 um 16:08:09

Abgelegt in Verschiedenes

Tags für diesen Artikel: , ,

Mac OSX: Internet teilweise langsam

Mit 2 Kommentaren

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.

Geschrieben von Peter Rehm

15.01.2006 um 18:55:00

Abgelegt in Apple

Tags für diesen Artikel: , ,