http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56671



             Bug #: 56671

           Summary: Gcc uses large amounts of memory and processor power

                    with large C++11 bitsets

    Classification: Unclassified

           Product: gcc

           Version: 4.7.2

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: c++

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: m1010...@gmail.com





When I attempt to instantiate std::bitset<1024*1024*1024> in C++98 mode,

compilation takes a quarter-second and uses almost no RAM.  In C++11 mode, it

takes 8 seconds and almost 2GB of RAM.  The time and memory usage appear to

scale linearly with the size of the bitset.  No errors or warnings are reported

in either mode.



Full code:

#include <bitset>

int main()

{

    std::bitset<1024*1024*1024> bs;

}



Compilation lines:

g++ -std=c++98 x.cpp

g++ -std=c++11 x.cpp



g++ -v:

Using built-in specs.

COLLECT_GCC=g++

COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/lto-wrapper

Target: x86_64-unknown-linux-gnu

Configured with: /build/src/gcc-4.7.2/configure --prefix=/usr --libdir=/usr/lib

--libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info

--with-bugurl=https://bugs.archlinux.org/

--enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared

--enable-threads=posix --with-system-zlib --enable-__cxa_atexit

--disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch

--enable-libstdcxx-time --enable-gnu-unique-object --enable-linker-build-id

--with-ppl --enable-cloog-backend=isl --disable-ppl-version-check

--disable-cloog-version-check --enable-lto --enable-gold --enable-ld=default

--enable-plugin --with-plugin-ld=ld.gold --with-linker-hash-style=gnu

--enable-multilib --disable-libssp --disable-build-with-cxx

--disable-build-poststage1-with-cxx --enable-checking=release

Thread model: posix

gcc version 4.7.2 (GCC)

Reply via email to