Giter Club home page Giter Club logo

babylon's Introduction

Babylon

CI Coverage Status

Babylon是一个用于支持C++高性能服务端开发的基础库,从内存和并行管理角度提供了大量的基础组件。广泛应用在对性能有严苛要求的场景,典型例如搜索推荐引擎,自动驾驶车载计算等场景

核心功能

  • 高效的应用级内存池机制
  • 组件式并行计算框架
    • 基于无锁DAG推导的高性能自动组件并行框架
    • 依照执行流天然生成数据流管理方案,复杂计算图场景下提供安全的数据竞争管理
    • 微流水线并行机制,提供上限更好的并行化能力
  • 并行开发基础组件
    • wait-free级别的并发安全容器(vector/queue/hash_table/...)
    • 可遍历的线程缓存开发框架
    • 可扩展支持线程/协程的同步原语(future/mutex/...)
  • 应用/框架搭建基础工具
    • IOC组件开发框架
    • C++对象序列化框架
    • 零拷贝/零分配异步日志框架

编译并使用

Babylon使用Bazel进行构建和依赖管理

  • 构建bazel build ...
  • 单测bazel test ...
  • Asan单测bazel test --config asan ...
  • Tsan单测bazel test --config tsan ...
  • All in One依赖目标:babylon
  • 分子模块依赖目标:any:concurrent等,详见BUILD文件

功能文档

整体设计思路

如何贡献

如果你遇到问题或需要新功能,欢迎创建issue。

如果你可以解决某个issue, 欢迎发送PR。

发送PR前请确认有对应的单测代码。

babylon's People

Contributors

oathdruid 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.