Skip to content

Commit

Permalink
Added the bp_tree::equal_range() public method.
Browse files Browse the repository at this point in the history
Using (faster) pdqsort from Boost.Move for bulk inserts.
Using automatic minimal-size deduction for node_size_type.
Optimized the core find() function.
Various fixes around the pass_in_reg machinery.
Made use_linear_search_for_sorted_array actually user specializable by converting it into a variable.
Switched to using a smaller node size (with a brief comment).
Fixed bulk_insert_prepare() for empty input.
Fixed bulk_insert_into_empty() handling of short input sequences.
Fixed node_count_required_for_values() logic.
Fixed handling of an edge case in the bulk insert helper merge() function.
Added basic benchmarking.
  • Loading branch information
psiha committed Oct 26, 2024
1 parent b82ddd2 commit 9f5f994
Show file tree
Hide file tree
Showing 4 changed files with 283 additions and 89 deletions.
7 changes: 7 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,15 @@ set( boost_ver boost-1.86.0 )
CPMAddPackage( "gh:boostorg/static_assert#${boost_ver}" ) # Boost::core dependency
CPMAddPackage( "gh:boostorg/throw_exception#${boost_ver}" ) # Boost::core dependency
CPMAddPackage( "gh:boostorg/config#${boost_ver}" ) # Boost::core dependency
CPMAddPackage( "gh:boostorg/intrusive#${boost_ver}" ) # Boost::container dependency
CPMAddPackage( "gh:boostorg/io#${boost_ver}" ) # Boost::utility dependency
CPMAddPackage( "gh:boostorg/type_traits#${boost_ver}" ) # Boost::utility dependency
CPMAddPackage( "gh:boostorg/predef#${boost_ver}" ) # Boost::winapi dependency
CPMAddPackage( "gh:boostorg/assert#${boost_ver}" )
CPMAddPackage( "gh:boostorg/container#${boost_ver}" ) # used only for comparative benchmarking
CPMAddPackage( "gh:boostorg/core#${boost_ver}" )
CPMAddPackage( "gh:boostorg/integer#${boost_ver}" )
CPMAddPackage( "gh:boostorg/move#${boost_ver}" )
CPMAddPackage( "gh:boostorg/preprocessor#${boost_ver}" )
CPMAddPackage( "gh:boostorg/stl_interfaces#${boost_ver}" )
CPMAddPackage( "gh:boostorg/winapi#${boost_ver}" )
Expand Down Expand Up @@ -72,8 +76,11 @@ endif()
include( vm.cmake )

target_link_libraries( psi_vm PUBLIC
Boost::container
Boost::core
Boost::assert
Boost::integer
Boost::move
Boost::preprocessor
Boost::stl_interfaces
Boost::winapi
Expand Down
Loading

0 comments on commit 9f5f994

Please sign in to comment.