GithubHelp home page GithubHelp logo

mjopenglsdl / system_utilities Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sidorovis/system_utilities

0.0 0.0 0.0 250 KB

bunch of utilities for multi-thread high-load back-end applications

Shell 0.31% C 0.30% C++ 88.40% CMake 10.81% Batchfile 0.18%

system_utilities's Introduction

system utilities is a bunch of utilities for multi-thread back-end high-load applications

Based on boost library. So do not forget to compile and link your project with boost library.

 * time_tracker module, idea by Sergey Silaev
Description: time_tracker module is a class for calculating time periods that were wasted on different operations.

 * ts_queue module, created by Ivan Sidarau
Description: multi-thread thread-safe queue, that you can use for task-based engines.

 * property_reader module, created by Ivan Sidarau, updated by Sergey Silaev requests.
Description: property reader module created to parse configuration files. 
Symbols '#', ';' mean comment.
Each settings should have '=' symbol to insert parameter at parameters map.
'include' command - add another property file to read to (like #include macros into c++), module does not correct self, or cycling include.

 * task_processor module, created by Ivan Sidarau.
Description: task_processor module is a module to process different abstract tasks by several thread calculators.

 * logger module, created by Ivan Sidarau
Description: logger module create for creating logs to different streams (std::ostream, ofstream...)

 * queue_logger module, created by Ivan Sidarau
Description: queue_logger module combine task_processor and logger modules add possibility to use logger into thread safe environment.

 * limited_file_logger module, created by Ivan Sidarau
Descripption: limited_file_logger module limit file logger by size, so if you want to limit your logs - please use this logger.
Example: you set limit to log file (in megabytes), when that limit will be reached - limit_file_logger will close filestream, rename file to <file_name>.old (delete such file if exists), open new file stream - and log all next actions.
So maximum size of this log on your hdd will be <limit_size> * 2. Please be sure that you have enought free space on your storage.

 * file_logger module, created by Ivan Sidarau
Description: file_logger module create template class that can log information using simple logger, and queue_logger.

 * system_processor module, created by Ivan Sidarau
Description: system_processor module is a singleton based class that gave simple possibility to create special waiter.
if default config file have System.stop_by_ctrl_c = true parameter, than stop method will be called 

 * ts_logger module,  created by Ivan Sidarau.
Description: logger<> like module with mutex synchonization on write method, could be used in several threads (if performance is a must, consider using queue_logger).

 * multikey_tree module, created by Sergey Silaev, idea by Ivan Sidarau
Description: fast thread safe map with std::string as key. created for small strings keys. works faster than std::map< std::string, VALUE > on big amount of insert/get

 * shared_name_storage module, created by Ivan Sidarau
Description: store map of shared_ptr's to gave possibility to user easy to work with array of strings by index (works like indexed database by id and by string [id, string])

system_utilities's People

Contributors

sidorovis avatar pavelnik avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.