blockchain_import: Check bit width for more than just WIN32

Pass the CMake bit width setting to compile flags for blockchain_import
and blockchain_converter.

For LMDB on 32-bit, hyc has found that batch size of 100 appears to be a
good default.
This commit is contained in:
warptangent 2016-02-17 12:10:26 -08:00
parent c069814773
commit 05e7ac0360
No known key found for this signature in database
GPG key ID: 0E490BEBFBE4E92D
3 changed files with 14 additions and 4 deletions

View file

@ -99,6 +99,11 @@ target_link_libraries(blockchain_converter
blockchain_db blockchain_db
${CMAKE_THREAD_LIBS_INIT}) ${CMAKE_THREAD_LIBS_INIT})
if(${ARCH_WIDTH} EQUAL 32)
target_compile_definitions(blockchain_converter
PUBLIC -DARCH_WIDTH=32)
endif()
add_dependencies(blockchain_converter add_dependencies(blockchain_converter
version) version)
set_property(TARGET blockchain_converter set_property(TARGET blockchain_converter
@ -117,6 +122,11 @@ target_link_libraries(blockchain_import
p2p p2p
${CMAKE_THREAD_LIBS_INIT}) ${CMAKE_THREAD_LIBS_INIT})
if(${ARCH_WIDTH} EQUAL 32)
target_compile_definitions(blockchain_import
PUBLIC -DARCH_WIDTH=32)
endif()
add_dependencies(blockchain_import add_dependencies(blockchain_import
version) version)
set_property(TARGET blockchain_import set_property(TARGET blockchain_import

View file

@ -57,12 +57,12 @@ bool opt_testnet = false;
// number of blocks per batch transaction // number of blocks per batch transaction
// adjustable through command-line argument according to available RAM // adjustable through command-line argument according to available RAM
#if !defined(WIN32) #if ARCH_WIDTH != 32
uint64_t db_batch_size_verify = 5000; uint64_t db_batch_size_verify = 5000;
#else #else
// set a lower default batch size for Windows, pending possible LMDB issue with // set a lower default batch size for Windows, pending possible LMDB issue with
// large batch size. // large batch size.
uint64_t db_batch_size_verify = 1000; uint64_t db_batch_size_verify = 100;
#endif #endif
// converter only uses verify mode // converter only uses verify mode

View file

@ -56,11 +56,11 @@ bool opt_testnet = true;
// number of blocks per batch transaction // number of blocks per batch transaction
// adjustable through command-line argument according to available RAM // adjustable through command-line argument according to available RAM
#if !defined(WIN32) #if ARCH_WIDTH != 32
uint64_t db_batch_size = 20000; uint64_t db_batch_size = 20000;
#else #else
// set a lower default batch size, pending possible LMDB issue with large transaction size // set a lower default batch size, pending possible LMDB issue with large transaction size
uint64_t db_batch_size = 1000; uint64_t db_batch_size = 100;
#endif #endif
// when verifying, use a smaller default batch size so progress is more // when verifying, use a smaller default batch size so progress is more