v0.9.39 - v0.9.43

addition

  • add support for fiber

  • add support for taskflow

  • add support for fiber mutex and condition variable both in pthread and fiber.

  • add support for unicode and unicode view.

  • add support simd(AVX2) implementation of utf8, utf16, utf32.

  • add TDLOG_* for turbo log, the log on effect only when NDEBUG is not defined.

  • add spin lock for small contention race, that replace mutex.

  • add platform thread for thread low level operation.

  • add memory info for low level memory operation.

  • add intrusive list for no memory allocation list.

  • add timer thread for timer operation.

feature improvement

  • improve turbo::Status for more friendly interface, remove the [[nodiscard]] attribute.

  • using [[nodiscard]] for TURBO_MUST_USE_RESULT promote to c++17.

  • using turbo::Time and Duration replace the microsecond and millisecond typed by int64_t, which Semantics is not clear. by using turbo::Time and Duration, the semantics is clear. Time is the time point, Duration is the time interval.

  • remove TURBO_INLINE_NAMESPACE, because it is not necessary.

  • remove macros for compact feature before c++17 for turbo require c++17.

bug fix

  • fix bug in turbo::format::format, when the format string is empty, it will cause a crash.

  • fix bug in unicode test for random utf16 string generation.

  • fix bug for TURBO_ASSERT, when NDEBUG is defined, it will cause a crash.

  • fix bug for profiling operator<<, when the value not the same, but convert to the same type.