This is a computer translation of the original content. It is provided for general information only and should not be relied upon as complete or accurate.

Sorry, we can't translate this content right now, please try again later.

Debug Versus Release Libraries

The following table details the Intel® Threading Building Blocks (Intel® TBB) dynamic shared libraries that come in debug and release versions.

Dynamic Shared Libraries Included in Intel Threading Building Blocks

Library

(*.dll, lib*.so, or lib*.dylib)

Description

When to Use

tbb_debug

tbbmalloc_debug

tbbmalloc_proxy_debug

These versions have extensive internal checking for correct use of the library.

Use with code that is compiled with the macro TBB_USE_DEBUG set to 1.

tbb

tbbmalloc

tbbmalloc_proxy

These versions deliver top performance. They eliminate most checking for correct use of the library.

Use with code compiled with TBB_USE_DEBUG undefined or set to zero.

Tip

Test your programs with the debug versions of the libraries first, to assure that you are using the library correctly. With the release versions, incorrect usage may result in unpredictable program behavior.

Intel TBB supports Intel® Inspector XE, Intel® VTune™ Amplifier XE and Intel® Advisor. Full support of these tools requires compiling with macro TBB_USE_THREADING_TOOLS=1. That symbol defaults to 1 in the following conditions:

When TBB_USE_DEBUG=1.

On the Microsoft Windows* operating system, when _DEBUG=1.

The Intel Threading Building Blocks Developer Reference section explains the default values in more detail.

CAUTION

The instrumentation support for Intel Inspector XE becomes live after the first initialization of the task library. If the library components are used before this initialization occurs, Intel Inspector XE may falsely report race conditions that are not really races.