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:
parent
c069814773
commit
05e7ac0360
3 changed files with 14 additions and 4 deletions
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue