diff --git a/README.md b/README.md index 7428d83..e9025d4 100755 --- a/README.md +++ b/README.md @@ -20,6 +20,17 @@ If you are using BLT as a CMake library (as you should!) this is done for you. - Standalone - The CMake options define global variables in a config file. If you are using logging standalone you will need to remove the config include. - Macros can be used in the same pattern of `BLT_DISABLE_LEVEL` to disable the various logging levels +## blt::arg_parse +blt::arg_parse found in `blt/parse/argparse.h` is an attempt at a near 1:1 replication of Python's argparse in C++. +Python's argparse is one of the best command line argument parsing solutions with some of the best documentation I've seen. +The goal was to create an API which would function exactly as the Python docs described, simplifying how much I needed to remember and document for this library. +## blt::profile_t (v2) +The newest version of my profiler solution now features a CPU cycle counter, CPU thread execution time, and wall time. It has more options for +sorting and general printing while featuring a nicer codebase. It is an improvement over blt::profiling while maintaining (almost) complete backwards +compatability. Due to changes in the ABI the `BLT_PRINT_PROFILE` macro deletes the internal profiles and intervals AND takes arguments which match +the new formatting options for profiling v2. However, `BLT_START_INTERVAL`, `BLT_WRITE_PROFILE`, and `BLT_END_INTERVAL` are still the same. +Documentation for this is coming soon, along with more profiling features. the `BLT_*` macros can be disabled by the standard `BLT_DISABLE_PROFILING` +from the v1 profiler. It is encouraged to use the new blt::* profile functions over the macros however these currently cannot be disabled. (TODO) --- # **Features / Examples**