I tried to build optimized executables from the first time I start mining with the not optimized ones. Finally I built windows optimized executables (check points removed!). Those are up to three times faster on my 3rd gen core i7 then the previous optimized ones (see the bold text bellow before reading it all – you may want to skip it).
Here is the process I used to build them:
1) built boost 1_55
set intel variables:
"C:\Program Files (x86)\Intel\Composer XE 2013 SP1\bin\ipsxe-comp-vars.bat" intel64
for 3rd gen i7 i5 i3:
b2 variant=release address-model=64 instruction-set=core-avx-i toolset=intel --build-type=complete --with-system --with-filesystem --with-thread --with-date_time --with-chrono --with-regex --with-serialization --with-atomic --with-program_options stage
for 2nd gen i7 i5 i3:
b2 variant=release address-model=64 instruction-set=corei7-avx toolset=intel --build-type=complete --with-system --with-filesystem --with-thread --with-date_time --with-chrono --with-regex --with-serialization --with-atomic --with-program_options stage
for previous gen i7 i5 i3:
b2 variant=release address-model=64 instruction-set=corei7 toolset=intel --build-type=complete --with-system --with-filesystem --with-thread --with-date_time --with-chrono --with-regex --with-serialization --with-atomic --with-program_options stage
for pentium-m (SSE3) intel processors:
b2 variant=release address-model=64 instruction-set=pentium-m toolset=intel --build-type=complete --with-system --with-filesystem --with-thread --with-date_time --with-chrono --with-regex --with-serialization --with-atomic --with-program_options stage
2) create the msvc project with cmake as specified in the op
3) open the project in msvc and select Release instead of Debug
4) right click on project external -> upnpc-static -> Intel Composer XE SP1 -> Intell C++. Same with those projects: comman, crypto, cryptonote_core, rpc, daemon
5) setting the same options for all those projects (right click -> properties) (
https://www.dropbox.com/s/5l3t5gysk4uhu7n/screenshots_intel_options.rar).
6) copy all boost files starting with libboost_ and ending on -iw-mt-s-1_55.lib to the build\src\Release folder
7) right click on daemon -> properties -> linker -> input -> additional dependencies and set those to:
Release\libboost_serialization-iw-mt-s-1_55.lib;Release\libboost_program_options-iw-mt-s-1_55.lib;Release\libboost_atomic-iw-mt-s-1_55.lib;C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\intel64\libmatmul.lib;C:\Program Files (x86)\Intel\Composer XE 2013 SP1\ipp\lib\intel64\ippcore.lib;C:\Program Files (x86)\Intel\Composer XE 2013 SP1\ipp\lib\intel64\ippvm.lib;C:\Program Files (x86)\Intel\Composer XE 2013 SP1\ipp\lib\intel64\ipps.lib;C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\intel64\libiompstubs5md.lib;Release\libboost_regex-iw-mt-s-1_55.lib;Release\libboost_filesystem-iw-mt-s-1_55.lib;Release\libboost_chrono-iw-mt-s-1_55.lib;Release\libboost_system-iw-mt-s-1_55.lib;Release\libboost_date_time-iw-mt-s-1_55.lib;C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\intel64\libdecimal.lib;C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\intel64\svml_dispmt.lib;C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\intel64\libirc.lib;C:\Program Files (x86)\Intel\Composer XE 2013 SP1\compiler\lib\intel64\libmmt.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;Release\rpc.lib;Release\libboost_thread-iw-mt-s-1_55.lib;Release\cryptonote_core.lib;Release\crypto.lib;Release\common.lib;..\external\miniupnpc\Release\miniupnpc.lib;ws2_32.lib;iphlpapi.lib
Build
In the build there was some errors with the Intel compiler. Some of those were with Lambda Expression. Those are fixed this way: instead "() {}" it's "() -> bool {}"
There were some declaration errors. Those were fixed this way: instead "someclass foo = somefunction(foo);" it's "someclass foo; foo = somefunction(foo);". I'm not sure if there were other errors, because I didn't kept track of those. There are huge amount of warnings, but I ignored all of them.
9) ReBuild again and again until no errors are present.
I only tested the 3rd gen and Pentium M versions. The Pentium M is actually faster on my 3rd gen!? NoodleDoodle told me in irc that I don't need AVX, but just SSE3, but I decided to test it anyway (just to lose 6 more hours). Those executables may need libiomp5md.dll in the same folder in order to tun (needed for the 3rd gen executable not sure for the pentium-m. it's included in the archive).
The only problem with those executables is that they don’t want to synchronize with the blockchain so they can’t be used.
Tip me some MRO: 4AyRmUcxzefB5quumzK3HNE4zmCiGc8vhG6fE1oJpGVyVZF7fvDgSpt3MzgLfQ6Q1719xQhmfkM9Z2u
NXgDMqYhjJVmc6KX
Also I want to buy 0.02623544 BTC worth of MRO. Someone?