Fix spelling / expand dictionary.

This commit is contained in:
Titus Winters 2016-11-10 13:35:22 -05:00
parent e8ecae3171
commit 3768e82fc3
2 changed files with 7 additions and 3 deletions

View File

@ -11641,7 +11641,7 @@ approaches) is particularly valuable here.
In the realm of static enforcement, In the realm of static enforcement,
both [clang](http://clang.llvm.org/docs/ThreadSafetyAnalysis.html) and some both [clang](http://clang.llvm.org/docs/ThreadSafetyAnalysis.html) and some
older verisons of [gcc](https://gcc.gnu.org/wiki/ThreadSafetyAnnotation) have older versions of [GCC](https://gcc.gnu.org/wiki/ThreadSafetyAnnotation) have
some support for static annotation of thread safety properties. Consistent use some support for static annotation of thread safety properties. Consistent use
of this technique turns many classes of thread-safety errors into compile-time of this technique turns many classes of thread-safety errors into compile-time
errors. The annotations are generally local (marking a particular member errors. The annotations are generally local (marking a particular member
@ -11650,12 +11650,12 @@ learn. However, as with many static tools, it can often present false
negatives - cases that should have been caught but were allowed. negatives - cases that should have been caught but were allowed.
Clang's [Thread Sanitizer](http://clang.llvm.org/docs/ThreadSanitizer.html) (aka Clang's [Thread Sanitizer](http://clang.llvm.org/docs/ThreadSanitizer.html) (aka
tsan) is a powerful example of dynamic tools: it changes the build and execution TSAN) is a powerful example of dynamic tools: it changes the build and execution
of your program to add bookkeeping on memory access, absolutely identifying data of your program to add bookkeeping on memory access, absolutely identifying data
races in a given execution of your binary. The cost for this is both memory races in a given execution of your binary. The cost for this is both memory
(5-10x in most cases) and CPU slowdown (2-20x). Dynamic tools like this are best (5-10x in most cases) and CPU slowdown (2-20x). Dynamic tools like this are best
when applied to integration tests, canary pushes, or unittests that operate on when applied to integration tests, canary pushes, or unittests that operate on
multiple threads. Workload matters: When tsan identifies a problem, it is multiple threads. Workload matters: When TSAN identifies a problem, it is
effectively always an actual data race, but it can only identify races seen in a effectively always an actual data race, but it can only identify races seen in a
given execution. given execution.

View File

@ -1,7 +1,9 @@
' '
0xFF0000 0xFF0000
0b0101'0101 0b0101'0101
10x
'14 '14
20x
2D 2D
2K 2K
2ndEdition 2ndEdition
@ -69,6 +71,7 @@ CComPtr
cerr cerr
chrono chrono
cin cin
Clang's
class' class'
clib clib
Cline99 Cline99
@ -492,6 +495,7 @@ toolchains
TotallyOrdered TotallyOrdered
TP TP
tradeoff tradeoff
TSAN
TSs TSs
tt tt
typeid typeid