DanEngelbrecht Bikeshed Versions Save

Lock free hierarchical work scheduler

1.0

4 years ago

Release 1.0

Fixes

  • Use explicit int32_t for instead of long to ensure 32-bit values on GCC/Clang x64-builds
  • Corrected URL to blog in README.md
  • Added sample code for performance tests (in examples folder)

v0.4

4 years ago

Pre-release 4

API changes

  • Bikeshed_AddDependencies to take array of parent task task_ids
  • Bikeshed_ReadyCallback now gets called per channel range

API additions

  • Bikeshed_FreeTasks
  • BIKESHED_L1CACHE_SIZE to control ready head alignement - no padding/alignement added by default
  • BIKESHED_CPU_YIELD to control yielding in high-contention scenarios

Fixes

  • Added default (non-atomic) implementations for helper for unsupported platforms/compilers
  • Codacy analisys and badge
  • More input validation on public apis when BIKESHED_ASSERTS is enabled
  • Batch allocation of task indexes
  • Batch allocation of dependency indexes
  • Batch free of task indexes
  • Batch free of dependency indexes
  • Fixed broken channel range detection when resolving dependencies

v0.3

5 years ago

Pre-release 3

Fixes

  • Ready callback is now called when a task is readied via dependency resolve
  • Tasks are readied in batch when possible

v0.2

5 years ago

Fixes

  • Internal cleanups
  • Fixed warnings and removed clang warning suppressions
    • -Wno-sign-conversion
    • -Wno-unused-macros
    • -Wno-c++98-compat
    • -Wno-implicit-fallthrough
  • Made it compile cleanly with clang++ on Windows

v0.1

5 years ago

First pre-release.