# turbo **Repository Path**: gottingen/turbo ## Basic Information - **Project Name**: turbo - **Description**: basic c++ library - **Primary Language**: C++ - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2023-01-25 - **Last Updated**: 2024-07-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README turbo * c++ common library ==== [Documentation](https://turbo-docs.readthedocs.io/) | [Acknowledge](https://turbo-docs.readthedocs.io/) | [Contributors](CONTRIBUTORS.md) | [Release Notes](NEWS.md)
Turbo is a library of c++17 components designed with practicality and efficiently in mind. However, it seems like stl, but it just augments to stl. Turbo is the foundation of gottingen ai inf. [online docs](https://turbo-docs.readthedocs.io/) # build Since designed the Turbo, easy to build and ingest is one of its goals. so we make it's using as easy as we can. ```shell git clone https://github.com/gottingen/turbo.git pip install carbin cd turbo carbin install mkdir build && cd build cmake .. make -j 8 make test ``` for easy to ingest, Turbo have package on anaconda. When you on conda environment, you can get it as below. ```shell conda install -c mgottingen turbo ``` it also can be install by [carbin](https://github.com/gottingen/carbin). ```shell pip install carbin carbin install gottingen/turbo ``` # Try Try Try * Read [overview](https://turbo-docs.readthedocs.io/en/latest/en/overview.html) to know the goals of turbo and its advantages. * Read [getting start](https://turbo-docs.readthedocs.io/en/latest/) for building turbo and work with [examples](examples). * Api reference is [here](https://turbo-docs.readthedocs.io/en/latest/en/api/base.html). * Carbin is a tool to manage c++ project, it's [here](https://carbin.readthedocs.io/en/latest/). * Modules: * platform compact cross platform * base basic types and functions * fiber & flow fiber and task control flow -- **good performance** * Fiber * FiberMutex * FiberCond * FiberBarrier * TaskFlow * simd simd instructions abstraction to batch processing -- **good performance** * flags cmd line tools help to parse cmd line * strings strings and std::string_view processing * concurrent threading and lock options * Barrier * CallOnce * SpinLock * ThreadLocal * times time and date processing -- **good performance** * Time * Duration * CivilTime * TimeZone * format string format and table format -- **good performance** * format string * println * table format * logging logging and log to file -- **good performance** * files c++17 filesystem and convenient file api * SequentialReadFile * SequentialWriteFile * RandomAccessFile * RandomWriteFile * hash hash framework and hash functions -- **good performance** * city hash and bytes * murmur hash * xxhash * crypto * md5 * sha1 * sha256 * sha512 * crc32 * Unicode multi engine unicode support scalar and AVX2 -- **good performance** * utf8 * utf16 * utf32 * profiling profiling with write-most variables -- **good performance** * Counter * Histogram * Gauge * random random number generator -- **good performance** * Random * RandomEngine * RandomDevice * container -- **good performance** * small_vector stack allocated vector * flat_hash_map goode performance hash map * flat_hash_set goode performance * flat_tree_map goode performance # Acknowledgement * [Turbo](github.com/abseil/abseil-cpp) * [Folly](github.com/facebook/folly) * [Onnxruntime](github.com/microsoft/onnxruntime) * [brpc](github.com/apache/brpc) * [tvm](github.com/apache/tvm)