summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-03-18 15:52:21 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-03-18 15:52:21 +0100
commit2f062843d94c8d6d40d15c504bd665c470a3550c (patch)
treefa98d084cb5dad58b6654c2c08e905f3af2ee2a9
parentbcb19b914dff33713a403e68c85a73faae4e9c3c (diff)
JOURNAL update.
darcs-hash:9361abc569ed1b69691bdae03c219be573c97ac1
-rw-r--r--JOURNAL27
1 files changed, 27 insertions, 0 deletions
diff --git a/JOURNAL b/JOURNAL
index 4d36d45..58c709b 100644
--- a/JOURNAL
+++ b/JOURNAL
@@ -1,5 +1,32 @@
-*- mode: muse -*-
+; C-c i t insert-time-stamp
+
+
+* 2008-03-18, 15:31:30 CET
+
+** Profiling INVOKE
+
+I always profile INVOKE like this:
+
+<example>
+(let ((x (invoke (find-objc-class 'ns-method-signature)
+ :method-signature-for-selector 'new)))
+ (sb-sprof:with-profiling (:max-samples 500
+ :loop t
+ :report :flat)
+ (dotimes (i 100) (invoke x :get-argument-type-at-index 0))))
+</example>
+
+Of course, this is a ridiculous microbenchmark that doesn't yield much
+information about actual Objective-C usage, but it's certainly useful
+for finding the bottlenecks of INVOKE calls.
+
+Whether the performance of repeated invocation of the very same method
+on the very same object is all that interesting is, of course, an
+entirely different matter.
+
+
* 2008-03-07, 02:17:50 CET
** Memory Management