Цитата:
Сообщение от PhoeniXX
Если его раскомментировать, но даже не выполнять заполнение массива, тогда он заалокейтит 1гб памяти.
|
Значит компилятор C# не умеет в оптимизацию, т.к. такое тоже можно выкидывать
PHP код:
~$ cat ./test.cpp
#include <vector>
int main()
{
std::vector<int> v( 1024 * 1024 * 1024 );
for( int& n : v )
n = 0;
}
~$ clang++-libc++ -std=c++11 -Ofast -S ./test.cpp
~$ cat ./test.s
.text
.file "./test.cpp"
.globl main
.align 16, 0x90
.type main,@function
main: # @main
.cfi_startproc
# BB#0:
xorl %eax, %eax
retq
.Lfunc_end0:
.size main, .Lfunc_end0-main
.cfi_endproc
.ident "Ubuntu clang version 3.7.0-svn235834-1~exp1 (trunk) (based on LLVM 3.7.0)"
.section ".note.GNU-stack","",@progbits
Впрочем у него "медленно все происходило", а значит таки что-то делалось. В общем нужен код.