Em terça-feira, 9 de maio de 2017, às 13:20:04 PDT, René J. V. Bertin escreveu: > Thiago Macieira wrote: > > QString is already SIMD accelearated and has been since Qt 4.5. > > I'm perverse but not to the point that I'd consider using QString for math > operations :)
No, but you convert to and from Latin1 with it, you search for characters in it, etc. That's optimised. > > If you want any inline operations to become SIMD accelerated, compile your > > code with -O3. > > That'd only be as good as the compiler's auto-vectorisation, which rarely > has a significant impact on anything but the simpler operations. True, but "simpler operations" also describes the extent of the operations available in QVector. Comparing ranges, clearing them, finding an element, etc. are all operations that the compiler can easily autovectorise for you. > Also, to get SIMD support and auto-vectorisation you need the correct -march > CPU flag, no? That depends. Some operations it may do the CPU check for you, but it may not generate the most efficient code if it decides to keep to the lowest processor settings. You ought to consider always compiling your code with -march=sandybridge (2011 CPU) or -march=haswell (2013). You should do that for Qt too, as it enables most of the optimisations in QString I was talking about. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest