Streaming optimizations - CS 591 K1: Data Stream Processing and Analytics Spring 2020
Stream processing optimizations ??? Vasiliki Kalavri | Boston University 2020 2 • Costs of streaming operator execution • state, parallelism, selectivity • Dataflow optimizations • plan translation translation alternatives • Runtime optimizations • load management, scheduling, state management • Optimization semantics, correctness, profitability Topics covered in this lecture ??? Vasiliki Kalavri applied statically? When to optimize? ??? Vasiliki Kalavri | Boston University 2020 Catalog of Optimizations 14 ??? Vasiliki Kalavri | Boston University 2020 15 Safety • Attribute availability: the0 码力 | 54 页 | 2.83 MB | 1 年前3Programmer’s Guide for Free Pascal, Version 3.2.2
: Check Object . . . . . . . . . . . . . . . . . . . . . . 34 1.2.58 $OPTIMIZATION : Enable Optimizations . . . . . . . . . . . . . . . . . . 34 1.2.59 $PACKENUM or $Z : Minimum enumeration type size Numeric processing . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 1.3.24 $O : Level 2 Optimizations . . . . . . . . . . . . . . . . . . . . . . . . . . 51 1.3.25 $OBJECTPATH : Specify object path The Thread Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 11 Optimizations 129 11.1 Non processor specific . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 187 页 | 531.58 KB | 1 年前3User’s Guide for Free Pascal, Version 3.2.2
sets i : Returns a list of supported inline assembler modes o : Returns a list of supported optimizations r : Returns a list of recognized compiler and RTL features t : Returns a list of supported targets Returns a list of supported microcontroller types w : Returns a list of supported whole program optimizations -l Print a line stating which program this is and its version. -n Ignore the default configuration debugging info (version 4, experimental). -kxxx Pass xxx to the linker. -Nxxx Do node tree optimizations. Here xxx is one of u Unroll loops -Oxxx Optimize the compiler’s output; xxx can have one of0 码力 | 217 页 | 756.57 KB | 1 年前3What Volatile Means (and Doesn't Mean)
volatilequalifier is a vital tool for preventing compilers from performing certain harmful optimizations. Unfortunately, many C++ programmers aren’t clear on exactly what protections volatileprovides programmers apply the volatilequalifier incorrectly. A misapplied volatilemight: prevent optimizations unnecessarily, or worse fail to provide the expected protection, leading to subtle run-time operation. Reading from a receive buffer may set or clear bits in a status register. Compiler optimizations might change the number of register accesses. Eliminating an access eliminates its side effects0 码力 | 32 页 | 901.80 KB | 5 月前3Performance Matters
to eliminate the effect of layout enables sound performance evaluation evaluation of LLVM’s optimizations with STABILIZER Case Studies makes performance evaluation difficultSTABILIZER Memory layout to eliminate the effect of layout enables sound performance evaluation evaluation of LLVM’s optimizations with STABILIZER Case Studies makes performance evaluation difficultLayout biases measurement Memory layout affects performance enables sound performance evaluation evaluation of LLVM’s optimizations with STABILIZER Case Studies makes performance evaluation difficult Use randomization to eliminate0 码力 | 197 页 | 11.90 MB | 5 月前3Just-In-Time Compilation: The Next Big Thing
JIT COMPILES THE WHOLE PROGRAM * ALWAYS JIT COMPILES THE WHOLE PROGRAM * MINIMAL OPTIMIZATIONS * MINIMAL OPTIMIZATIONS * C++ LANGUAGE EXTENSION (ATTRIBUTE) * C++ LANGUAGE EXTENSION (ATTRIBUTE) * ALLOWS COMPILATION OF SPECIFICALLY-ANNOTATED FUNCTIONS (MEMOIZATION) * MAXIMAL OPTIMIZATIONS NOT EVEN POSSIBLE AT BUILD TIME * MAXIMAL OPTIMIZATIONS NOT EVEN POSSIBLE AT BUILD TIME CLING CLING [[CLANG::JIT]] [[CLANG::JIT]] & BENEFITS - COSTS & BENEFITS (+) RUN-TIME PERFORMANCE (OPTIMIZATIONS BASED ON RUN-TIME DATA/AVAILABLE (+) RUN-TIME PERFORMANCE (OPTIMIZATIONS BASED ON RUN-TIME DATA/AVAILABLE HARDWARE) HARDWARE) (-)0 码力 | 222 页 | 5.45 MB | 5 月前3Just-in-Time Compilation - J F Bastien - CppCon 2020
“full upward funargs” allow passing a function with its closure. The paper dives into important optimizations for Smalltalk. It discussed “macro-expansion of v-code into n-code, with caching”, in other inappropriate for three main reasons: 1. it denies applications the advantages of domain-specific optimizations, 2. it discourages changes to the implementations of existing abstractions, 3. and it restricts multiple implementations to do that work.Oberon 3 Dynamic optimization Kistler looked at cache optimizations—rearranging fields in a structure dynamically to optimize a program’s data-access patterns— and0 码力 | 111 页 | 3.98 MB | 5 月前3The Zig Programming Language 0.1.1 Documentation
Analysis Zig uses Type Based Alias Analysis (also known as Strict Aliasing) to perform some optimizations. This means that pointers of different types must not alias the same memory, with the exception ReleaseFast mode, the optimizer uses the assumption that unreachable code will never be hit to perform optimizations. However, zig test even in ReleaseFast mode still emits unreachable as calls to panic. Basics a debug build; in a release build these generated functions still pass through rigorous LLVM optimizations. The important thing to note, however, is not that this is a way to write more optimized code0 码力 | 82 页 | 2.67 MB | 1 年前3The Zig Programming Language 0.2.0 Documentation
Analysis Zig uses Type Based Alias Analysis (also known as Strict Aliasing) to perform some optimizations. This means that pointers of different types must not alias the same memory, with the exception ReleaseFast mode, the optimizer uses the assumption that unreachable code will never be hit to perform optimizations. However, zig test even in ReleaseFast mode still emits unreachable as calls to panic. Basics a debug build; in a release build these generated functions still pass through rigorous LLVM optimizations. The important thing to note, however, is not that this is a way to write more optimized code0 码力 | 117 页 | 2.84 MB | 1 年前3The Zig Programming Language 0.3.0 Documentation
Analysis Zig uses Type Based Alias Analysis (also known as Strict Aliasing) to perform some optimizations. This means that pointers of different types must not alias the same memory, with the exception ReleaseFast mode, the optimizer uses the assumption that unreachable code will never be hit to perform optimizations. However, zig test even in ReleaseFast mode still emits unreachable as calls to panic. Basics a debug build; in a release build these generated functions still pass through rigorous LLVM optimizations. The important thing to note, however, is not that this is a way to write more optimized code0 码力 | 175 页 | 4.08 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100