1. 22 Jun, 2020 1 commit
    • Michael Müller's avatar
      Implement storage2::Stash::remove_occupied unsafe function (#440) · cf6e7106
      Michael Müller authored
      
      
      * [core] Add stash::remove()
      
      * [core] Add benchmarks: take() vs remove()
      
      * [core] Add benchmark for worst case of take()
      
      * [core] Make worst case test even worse
      
      * [core] Add assertions
      
      * [core] Rename stash.remove() to stash.remove_occupied() and make it unsafe
      
      * [core] Add code for linking list entries when removing one
      
      * [core] Add test for remove with multiple push/pulls
      
      * [core] Improve code
      
      * [core] Do not actually read value in remove_occupied()
      
      * [core] Make clippy happy
      
      * [core] Upgrade criterion
      
      * [core] Remove unnecessary code branches
      
      * [core] Refactor logic
      
      * [core] Rename file
      
      * [core] Remove criterion temporarily
      
      * Add new ops for storage2/vec (#453)
      
      * Fix typo
      
      * [core] Add vec.set()
      
      * [core] Add vec.clear()
      
      * [core] Add benchmarks for vec.put() and vec.clear()
      
      * [core] Minor improvements
      
      * [core] Add user comment
      
      * [core] Improve style
      
      * [core] Add worst case benches
      
      * [core] Include comments from review
      
      * [core] Apply cargo fmt
      
      * [core] Remove unnecessary variable
      
      * [core] Include put worst case bench
      
      * [core] Rename benches to lazy vs. cached
      
      * [core] Reduce benchmark overhead by preventing cache writes
      
      * [core] Add black boxes to prevent over optimization
      
      * [core] improve benchmarks for new storage vector operations (#457)
      
      * [core] optimize LazyIndexMap::put
      
      * [core] put some forgotten black_box instances
      
      * [core] further minor improvements to the benchmarks
      
      * [core] Add criterion dependency workaround
      
      * [core] Change vec.set() to return Result<(), IndexOutOfBounds>
      
      * [core] Remove outdated comment
      
      * [core] Minor fixes
      
      * [core] Minor test fixes
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarHero Bird <robin.freyler@gmail.com>
      
      Co-authored-by: default avatarHero Bird <robin.freyler@gmail.com>
      
      * [core] Structure and update benches
      
      * [core] Address 'unused Result that must be used'
      
      * [core] Clean up code
      
      * [core] Remove outdated files
      
      * [core] Apply cargo fmt
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarHero Bird <robin.freyler@gmail.com>
      
      * [core] Wrap comment
      
      * [core] Constrain mutability
      
      Co-authored-by: default avatarHero Bird <robin.freyler@gmail.com>
      cf6e7106