summaryrefslogtreecommitdiffstats
path: root/my_profile.h
diff options
context:
space:
mode:
authornick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-11 14:41:19 +0000
committernick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-11 14:41:19 +0000
commit6fde34dde88c6d840718600485a696eaa97a1d4b (patch)
tree9811462ee36c80b88af729a9af84dbfc23a32c74 /my_profile.h
parentcac469b9b0ac86db6004e8523bca7f877bdfed9e (diff)
downloadmpv-6fde34dde88c6d840718600485a696eaa97a1d4b.tar.bz2
mpv-6fde34dde88c6d840718600485a696eaa97a1d4b.tar.xz
Precised profile stuff
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2833 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'my_profile.h')
-rw-r--r--my_profile.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/my_profile.h b/my_profile.h
new file mode 100644
index 0000000000..23fec4ea43
--- /dev/null
+++ b/my_profile.h
@@ -0,0 +1,33 @@
+/*
+ * my_profile.h
+ *
+ * Copyright (C) Nick Kurshev <nickols_k@mail.ru> - Oct 2001
+ *
+ * You can redistribute this file under terms and conditions
+ * of GNU General Public licence v2.
+ * This file is partly based on vbetest.c from lrmi distributive.
+ */
+#ifndef MY_PROFILE_INC
+#define MY_PROFILE_INC
+
+extern unsigned long long int my_profile_start,my_profile_end,my_profile_total;
+
+#if defined ( ENABLE_PROFILE ) && defined ( ARCH_X86 )
+static inline unsigned long long int read_tsc( void )
+{
+ unsigned long long int retval;
+ __asm __volatile ("rdtsc":"=A"(retval)::"memory");
+ return retval;
+}
+
+#define PROFILE_START() (my_profile_start=read_tsc())
+#define PROFILE_END(your_message) { my_profile_end=read_tsc(); my_profile_total+=my_profile_end - my_profile_start; printf(your_message" current=%llu total=%llu\n\t",my_profile_end-my_profile_start,my_profile_total); }
+#else
+#define PROFILE_INIT()
+#define PROFILE_START()
+#define PROFILE_END(your_message)
+#endif
+
+
+
+#endif \ No newline at end of file