[llvm-bugs] [Bug 26867] New: range-v3 tensor indices range vs manual loop nesting, 100-400x slowdown

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Mar 7 06:30:45 PST 2016


https://llvm.org/bugs/show_bug.cgi?id=26867

            Bug ID: 26867
           Summary: range-v3 tensor indices range vs manual loop nesting,
                    100-400x slowdown
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
          Assignee: unassignedclangbugs at nondot.org
          Reporter: gonzalobg88 at gmail.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

https://github.com/ericniebler/range-v3/issues/281

Basically there are two range implementations of iteration over
multi-dimensional tensors:

- one using range comprehensions (using view::for_each, 100-400x slowdown)
- one using a view written by hand (10x slowdown)

The slowdowns are measured with respect to a manually written triple nested
loop. 

That is, when using range views instead of raw loops, clang produces slower
code. (GCC does as well, but the slowdown is much lower: 1-2x slowdown).

I can provide preprocessed sources that trigger this issue, but whoever wants
to tackle this should probably get range-v3 from source anyways (I will be glad
to test and benchmark in my machines: from SSE to AVX2).

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160307/15b05c1e/attachment.html>


More information about the llvm-bugs mailing list