* [ltt-dev] UST Test
@ 2010-09-03 17:37 David Goulet
2010-09-09 6:33 ` Pierre-Marc Fournier
0 siblings, 1 reply; 3+ messages in thread
From: David Goulet @ 2010-09-03 17:37 UTC (permalink / raw)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi everyone,
I think we had some time ago a discussion about that but now I want to fix this
properly and for good. The current benchmark test in the UST git is :
1) Only testing trace_mark
2) Using syscalls
This makes the per event time goes ~1.1ms for 1 millions events. I did some time
ago another benchmark test that tested trace_mark, tracepoint with trace_mark
and custom probe but _without_ syscalls (only math calculation) and the time
dropped to ~200ns per event.
So, I don't question the current benchmark test but perhaps it should be good to
design a test that first will test all "marking" technology (including soon to
come trace_event), second that will use multiple use case scenario (like
syscalls, regular calculation, string manipulation, I/O, ...) because each of
these test gives different results.
We have NO test case that test all four (marker, TP, custom, TE) and I think
this should be VERY important because I just found out that the the
trace_mark_tp was not working since the changes made by Nils with the data
pointer by using some old test I had. This should be detected with the
tests/runtests script at each new release or/and pull commit.
Cheers
David
- --
David Goulet
LTTng project, DORSAL Lab.
1024D/16BD8563
BE3C 672B 9331 9796 291A 14C6 4AF7 C14B 16BD 8563
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iEUEARECAAYFAkyBMmMACgkQSvfBSxa9hWM4ewCRAekMY57jqyLoLNpVzgPShdEK
7QCcDgQrWhDVyr5+FDVHzhaOMkJl9BI=
=+MMf
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 3+ messages in thread
* [ltt-dev] UST Test
2010-09-03 17:37 [ltt-dev] UST Test David Goulet
@ 2010-09-09 6:33 ` Pierre-Marc Fournier
2010-09-09 12:58 ` David Goulet
0 siblings, 1 reply; 3+ messages in thread
From: Pierre-Marc Fournier @ 2010-09-09 6:33 UTC (permalink / raw)
On 09/03/2010 01:37 PM, David Goulet wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi everyone,
>
> I think we had some time ago a discussion about that but now I want to fix this
> properly and for good. The current benchmark test in the UST git is :
> 1) Only testing trace_mark
> 2) Using syscalls
>
> This makes the per event time goes ~1.1ms for 1 millions events. I did some time
Are you sure about this? I get around 1 us/event.
> ago another benchmark test that tested trace_mark, tracepoint with trace_mark
> and custom probe but _without_ syscalls (only math calculation) and the time
> dropped to ~200ns per event.
Can you explain why system calls make such a big difference in per-event
times? I find it disturbing and I am reluctant to remove them from the
benchmark just because this results in better figures without knowing
what is happening.
>
> So, I don't question the current benchmark test but perhaps it should be good to
> design a test that first will test all "marking" technology (including soon to
> come trace_event), second that will use multiple use case scenario (like
> syscalls, regular calculation, string manipulation, I/O, ...) because each of
> these test gives different results.
>
> We have NO test case that test all four (marker, TP, custom, TE) and I think
> this should be VERY important because I just found out that the the
> trace_mark_tp was not working since the changes made by Nils with the data
> pointer by using some old test I had. This should be detected with the
> tests/runtests script at each new release or/and pull commit.
Good ideas, but I think tests and benchmarks should be separate
programs. Probably there should be one test per instrumentation type and
one benchmark per instrumentation type.
pmf
>
> Cheers
> David
> - --
> David Goulet
> LTTng project, DORSAL Lab.
>
> 1024D/16BD8563
> BE3C 672B 9331 9796 291A 14C6 4AF7 C14B 16BD 8563
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iEUEARECAAYFAkyBMmMACgkQSvfBSxa9hWM4ewCRAekMY57jqyLoLNpVzgPShdEK
> 7QCcDgQrWhDVyr5+FDVHzhaOMkJl9BI=
> =+MMf
> -----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 3+ messages in thread
* [ltt-dev] UST Test
2010-09-09 6:33 ` Pierre-Marc Fournier
@ 2010-09-09 12:58 ` David Goulet
0 siblings, 0 replies; 3+ messages in thread
From: David Goulet @ 2010-09-09 12:58 UTC (permalink / raw)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 10-09-09 02:33 AM, Pierre-Marc Fournier wrote:
> On 09/03/2010 01:37 PM, David Goulet wrote:
> Hi everyone,
>
> I think we had some time ago a discussion about that but now I want to
> fix this
> properly and for good. The current benchmark test in the UST git is :
> 1) Only testing trace_mark
> 2) Using syscalls
>
> This makes the per event time goes ~1.1ms for 1 millions events. I did
> some time
>
>> Are you sure about this? I get around 1 us/event.
>
I'm sorry. Typo on my side... You are right. It's microsec not millise.
> ago another benchmark test that tested trace_mark, tracepoint with
> trace_mark
> and custom probe but _without_ syscalls (only math calculation) and
> the time
> dropped to ~200ns per event.
>
>> Can you explain why system calls make such a big difference in per-event
>> times? I find it disturbing and I am reluctant to remove them from the
>> benchmark just because this results in better figures without knowing
>> what is happening.
>
I have no idea. Maybe cache pressure... I don't know. I took the current
benchmark test and added some integer manipulation to make it a long loop and I
got the 200ns that I normally get.
I'm not saying to remove the syscalls from the benchmark. Just partition the
test as mention below.
>
> So, I don't question the current benchmark test but perhaps it should
> be good to
> design a test that first will test all "marking" technology (including
> soon to
> come trace_event), second that will use multiple use case scenario (like
> syscalls, regular calculation, string manipulation, I/O, ...) because
> each of
> these test gives different results.
>
> We have NO test case that test all four (marker, TP, custom, TE) and I
> think
> this should be VERY important because I just found out that the the
> trace_mark_tp was not working since the changes made by Nils with the
> data
> pointer by using some old test I had. This should be detected with the
> tests/runtests script at each new release or/and pull commit.
>
>> Good ideas, but I think tests and benchmarks should be separate
>> programs. Probably there should be one test per instrumentation type and
>> one benchmark per instrumentation type.
Absolutely. Different test for sure. Let's improve the benchmark test by adding
all possible tracing mechanism and do a separate test for the "technology" used
in UST (just to insure that we broke nothing after big changes).
Thanks
David
>
>> pmf
>
>
> Cheers
> David
- --
David Goulet
LTTng project, DORSAL Lab.
1024D/16BD8563
BE3C 672B 9331 9796 291A 14C6 4AF7 C14B 16BD 8563
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iEYEARECAAYFAkyI2gsACgkQSvfBSxa9hWP70wCgvk+NCCsSdIDlEBi2DyyNPuDT
KTAAn1AKpEplkTiHeXbXZqUyEHUoqwg+
=pxwx
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-09-09 12:58 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-03 17:37 [ltt-dev] UST Test David Goulet
2010-09-09 6:33 ` Pierre-Marc Fournier
2010-09-09 12:58 ` David Goulet
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox