github vmware/differential-datalog v0.42.0
DDlog v0.42.0

latest releases: v1.2.3, v1.2.2, v1.2.1...
2 years ago

[0.42.0] - Jul 9, 2021

DDShow integration

  • DDShow is a timely/differential dataflow
    profiler developed by @Kixiron. DDlog now supports DDShow as an alternative
    to its built-in profiler. The built-in profiler is still preferable in
    production environments, due to its low overhead, but DDShow is a better (and
    constantly improving!) option for development-time profiling. See
    Profiling tutorial for details on how to enable
    DDShow-based profiling via CLI switches, as well as via Rust/C/Java APIs.

Configuration API

  • DDlog now supports several configuration parameters: (1) number of worker threads,
    (1) idle merge effort, (3) profiling configuration, (4) debug regions. We
    introduce a new startup API <your_program>_ddlog::run_with_config() that allows
    the user to configure these parameters before instantiating a DDlog program. This
    API is exposed to C via the ddlog_run_with_config() function and to Java via
    the DDlogConfig class.

Breaking API changes

  • Rust API refactoring: Moved HDDlog type (handle to a running DDlog program) from
    the main auto-generated crate to the differential_datalog crate. The
    auto-generated crate now exports two public functions that create an HDDlog
    instance: run and run_with_config.

  • Profiling is disabled by default. Previously, DDlog's self-profiler was
    always enabled by default. This is no longer the case. When starting the
    program via <your_program>_ddlog::run() (ddlog_run() in C), the profiler
    will be disabled. To enable the profiler, use the run_with_config() API
    described above and explicitly set the profiling mode to either SelfProfiling
    (to enable the internal profiler) or TimelyProfiling (to use DDShow).

New features

  • Support for "original" annotation on relations to record original name
    (if name is generated by code).

Bug fixes

  • Link ovsdb2ddlog statically, making it self-contained for better portability
    across different Linux distros.

Don't miss a new differential-datalog release

NewReleases is sending notifications on new releases.