Skip to content

Koettlitz/nebulastream

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


NebulaStream is our attempt to develop a general-purpose, end-to-end data management system for the IoT. It provides an out-of-the-box experience with rich data processing functionalities and a high ease-of-use.

NebulaStream is a joint research project between the DIMA group at TU Berlin and BIFOLD.

Learn more about Nebula Stream at https://www.nebula.stream or take a look at our documentation.

Clang-Format, Clang-Tidy, License & Pragma Once Check, and Ensure Correct Comments

We use clang-format and clang-tidy to ensure code quality and consistency. To run the checks, you can use the target format.

Development

NebulaStream targets C++23 using all features implemented in both libc++ 19 and libstdc++ 14. All tests are using Clang 19. Follow the development guide to learn how to set up the development environment. To see our code of conduct, please refer to CODE_OF_CONDUCT.

Build Types

This project supports multiple build types to cater to different stages of development and deployment. Below are the details of each build type:

Debug

  • Default Logging Level: All logging messages are compiled.
  • Assert Checks: Enabled.
  • Use Case: Ideal for development, providing comprehensive logging and assert checks to help identify and fix issues.

RelWithDebInfo (Release with Debug Information)

  • Default Logging Level: Warning.
  • Assert Checks: Enabled.
  • Use Case: Balances performance and debugging, including warning-level logging and assert checks for useful debugging information without full logging overhead.

Release

  • Default Logging Level: Error.
  • Assert Checks: Enabled.
  • Use Case: Optimized for performance, with logging set to error level and assert checks disabled, ensuring only critical issues are logged.

Benchmark

  • Logging Level: None.
  • Assert Checks: Disabled.
  • Use Case: Designed for maximum performance, omitting all logging and assert checks, including null pointer checks. Suitable for thoroughly tested environments where performance is critical.
  • Use this with care, as this is not regularly tested, i.e., Release terminates deterministically if a bug occurs (failed invariant/precondition), whereas Benchmark will be in an undefined state.

About

Fork for bachelor work

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 89.7%
  • CMake 7.3%
  • Java 0.9%
  • Python 0.9%
  • ANTLR 0.4%
  • Shell 0.4%
  • Dockerfile 0.4%