PLInstrument in iPhone-Projekte einbinden

Als Ergänzung zu den heutigen Linktips erklärt dieser Artikel kurz die Einbindung von PLInstrument in ein bestehendes iPhone-Projekt:

  1. PLInstrument aus dem Subversion-Repository auschecken:
    svn checkout http://plinstrument.googlecode.com/svn/trunk/ plinstrument
  2. Datei PLInstrument.xcodeproj mit Xcode öffnen.
  3. Unter Overview das Target PLInstrument-iPhoneOS auswählen, außerdem die Konfiguration auf Release setzen.
  4. Mit Cmd-B kompilieren.
  5. Unter Overview das Target PLInstrument-iPhoneSimulator auswählen.
  6. Mit Cmd-B kompilieren.
  7. Im Terminal in das Verzeichnis von PLInstrument wechseln und dort folgenden Befehl ausführen, um eine gemeinsame Bibliothek für iPhone und iPhone Simulator zu erstellen:
    lipo build/Release-iphonesimulator/libPLInstrument-iphonesimulator.a build/Release-iphoneos/libPLInstrument-iphoneos.a -create -output libPLInstrument-iphoneos.a
  8. Die erstellte Datei libPLInstrument-iphoneos.a in das eigene iPhone-Projekt einbinden, außerdem alle .h-Dateien aus dem Ordner plinstrument/Source einbinden.
  9. Mit Cmd-B kompilieren, es sollte dabei keine Fehlermeldung auftreten.

Anschließend kann PLInstrument innerhalb des eigenen Codes benutzt werden, z.B. um die Zeit für einen Datenbank-Request zu ermitteln:

#import "PLInstrument.h" 

// ...

PLIAbsoluteTime start = PLICurrentTime();
NSUInteger iterations = 0;

NSObject<PLResultSet> *results;
results = [database executeQuery:@"SELECT * FROM test;"];
while ([results next]) {
    iterations++;
    // Do something with the results
}
[results close];

PLIAbsoluteTime finish = PLICurrentTime();
PLInstrumentResult *result = [PLInstrumentResult resultWithStartTime:start endTime:finish iterations:iterations];
NSLog(@"Select took %dns per iteration.", [result intervalPerIteration]);

Bei Ausführung der App wird die mittlere Zeit pro Iteration in Nanosekunden auf der Konsole ausgegeben:
2009-03-08 18:55:06.734 Playground[2736:a203] Select took 2089470ns per iteration.

Es ist zu beachten, dass die API und Dokumentation von PLInstrument laut des Entwicklers derzeit nicht vollständig ist und entsprechend Änderungen unterliegen kann.

Schlüsselwörter: iphone, programmierung

Von Thomas Dohmke vor 543 Tagen hinzugefügt


Kommentare

Kommentar hinzufügen

Twitter

Uns auf Twitter verfolgen: