<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi Will,<br>
<br>
Your recent post mentioning changing std::sort to
vtkSMPTools::Sort() had me thinking about that, and also about
giving the gift of code. In the algorithm there are 3 distinct
parts, computing the depths, sorting, and building the output. Each
of of those could be parallelized. I'm willing to try it. Thanks for
the suggestion!<br>
<br>
Burlen<br>
<br>
<div class="moz-cite-prefix">On 11/12/2015 10:20 AM, Will Schroeder
wrote:<br>
</div>
<blockquote
cite="mid:CAEiDrtUzhrztO3=MH9amLaU9omy1dnk_eirO14C8Kp+ZgH6j3A@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>Burlen I would use vtkSMPTools::Sort(). Under the hood it
uses std::sort when VTK is built in
VTK_SMP_IMPLEMENTATION_TYPE=Sequential mode (default). But
when built with VTK_SMP_IMPLEMENTATION_TYPE=TBB, etc. you'll
see significant parallelization benefits.</div>
<div><br>
W</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Nov 11, 2015 at 12:04 PM,
Burlen Loring <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:burlen.loring@gmail.com" target="_blank">burlen.loring@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">Hi All,<br>
<br>
Would anyone be willing to review this patch?<br>
<a moz-do-not-send="true"
href="https://gitlab.kitware.com/vtk/vtk/merge_requests/844"
rel="noreferrer" target="_blank">https://gitlab.kitware.com/vtk/vtk/merge_requests/844</a><br>
<br>
I was profiling VisIt and noticed that vtkDepthSortPolyData
(in spite of its limitations it is used by VisIt for
transparent rendering) made use of qsort and about 1/2 the
time was spent by qsort. std::sort is known to be faster
because of the possibility of the compiler to inline the
comparisons. Updating qsort to std::sort seemed like an easy
way to make it faster. As I worked the profiler pointed out
a number of other fairly easy things to improve and overall
the class is now ~3x faster for two of the modes and ~2x
faster for the other. I enumerated the changes in the commit
message and have added a cxx test to improve the test
coverage.<br>
<br>
If you have the time, please take a look, and let me know if
you have any feedback on it.<br>
<br>
Thanks<br>
Burlen<br>
<br>
<br>
_______________________________________________<br>
Powered by <a moz-do-not-send="true"
href="http://www.kitware.com" rel="noreferrer"
target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a
moz-do-not-send="true"
href="http://www.kitware.com/opensource/opensource.html"
rel="noreferrer" target="_blank"><a class="moz-txt-link-freetext" href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a></a><br>
<br>
Search the list archives at: <a moz-do-not-send="true"
href="http://markmail.org/search/?q=vtk-developers"
rel="noreferrer" target="_blank">http://markmail.org/search/?q=vtk-developers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a moz-do-not-send="true"
href="http://public.kitware.com/mailman/listinfo/vtk-developers"
rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/vtk-developers</a><br>
<br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div class="gmail_signature">William J. Schroeder, PhD<br>
Kitware, Inc.<br>
28 Corporate Drive<br>
Clifton Park, NY 12065<br>
<a moz-do-not-send="true"
href="mailto:will.schroeder@kitware.com" target="_blank">will.schroeder@kitware.com</a><br>
<a moz-do-not-send="true" href="http://www.kitware.com"
target="_blank">http://www.kitware.com</a><br>
(518) 881-4902</div>
</div>
</blockquote>
<br>
</body>
</html>