On Thu, Jun 16, 2011 at 10:43 AM, Roy Stogner <[email protected]> wrote: > > > On Thu, 16 Jun 2011, John Peterson wrote: > >> Some results on my workstation for doubles: memset is roughly 2 orders >> of magnitude faster than std::fill when it is measurable. >> >> N Fill method Memset method >> 1000000 0.012151s 0.000625s > > Here's what I get with a few compiler/optimization combinations on my > workstation: > > icpc (ICC) 11.1 20100806 > > Compiler Fill method Memset method > icpc 11.1 0.000497s 0.000459s > icpc 11.1 -O2 0.000494s 0.000462s > icpc 11.1 -O3 0.000468s 0.000436s > gcc 4.4.3 0.002422s 0.000616s > gcc 4.4.3 -O2 0.000573s 0.000632s > gcc 4.4.3 -O3 0.000486s 0.000632s > gcc 4.5.1 0.002383s 0.000618s > gcc 4.5.1 -O2 0.000584s 0.000625s > gcc 4.5.1 -O3 0.000473s 0.000633s > > And on my (slower, less consistent!) laptop: > gcc 4.5.2 0.003884s 0.001752s > gcc 4.5.2 -O2 0.001789s 0.002191s > gcc 4.5.2 -O3 0.001776s 0.002186s > > > So this is very compiler-specific - on some fairly recent compilers, > memset ranges from 7% faster to 25% slower! > > What compiler and flags are you using? It looks like the real > optimization you need here is a change in one or both of those!
GCC 4.2.1, -O3 Does your STL have memset specializations of std::fill beyond the one for char? Otherwise I don't see how it can be faster than memset. -- John ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ Libmesh-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-devel
