Strategies for typecase optimization
Jim Newton
11th European Lisp Symposium
16-17 April 2017
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 1 / 41
Strategies for typecase optimization Jim Newton 11th European Lisp - - PowerPoint PPT Presentation
Strategies for typecase optimization Jim Newton 11th European Lisp Symposium 16-17 April 2017 Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 1 / 41 Motivation and Background 1 Intro to Common
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 1 / 41
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 2 / 41
Motivation and Background
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 3 / 41
Motivation and Background
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 4 / 41
Motivation and Background
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 5 / 41
Motivation and Background
1 T3 2 T7 16 T21 17 T8 3 T9 25 T10 T1 18 T4 4 T6 26 T3 5 T19 6 T8 12 T10 T1 7 T4 13 T3 8 T17 9 T10 T1 10 T3 11 T5 T1 14 T15 15 T8 T1 T4 19 T20 20 T9 21 T10 T1 T6 22 T3 23 T16 24 T9 T1 T6 27 T18 28 T8 29 T9 T1 T4 T6
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 6 / 41
Motivation and Background
1
2
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 7 / 41
Intro to Common Lisp Types and typecase
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 8 / 41
Intro to Common Lisp Types and typecase
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 9 / 41
Intro to Common Lisp Types and typecase
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 10 / 41
Intro to Common Lisp Types and typecase
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 10 / 41
Intro to Common Lisp Types and typecase
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 11 / 41
Intro to Common Lisp Types and typecase
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 11 / 41
Intro to Common Lisp Types and typecase
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 11 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 12 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 13 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 13 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 14 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 15 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 15 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 15 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 16 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 16 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 16 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 17 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 18 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 19 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 20 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 20 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 20 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 21 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 21 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 21 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 22 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 22 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 22 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 22 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 23 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 23 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 23 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 23 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 23 / 41
Optimization by s-expression transformation
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 24 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 25 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 26 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 26 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 27 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 27 / 41
Optimization using decision diagrams
A C B ⊥ D T Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 28 / 41
Optimization using decision diagrams
A C B ⊥ D T Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 28 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 29 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 29 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 29 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 29 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 29 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 30 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 30 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 31 / 41
Optimization using decision diagrams
unsigned-byte bignum bignum ⊥ (satisfies P2) (satisfies P1) T
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 32 / 41
Optimization using decision diagrams
unsigned-byte bignum bignum ⊥ (satisfies P2) (satisfies P1) T
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 33 / 41
Optimization using decision diagrams
fixnum unsigned-byte number (eql 42) (satisfies P4) unsigned-byte ⊥ (satisfies P2) (satisfies P1) T (satisfies P3)
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 34 / 41
Optimization using decision diagrams
fixnum unsigned-byte number (eql 42) (satisfies P4) unsigned-byte ⊥ (satisfies P2) (satisfies P1) T (satisfies P3)
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 35 / 41
Optimization using decision diagrams
fixnum unsigned-byte number (eql 42) (satisfies P4) unsigned-byte ⊥ (satisfies P2) (satisfies P1) T (satisfies P3)
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 35 / 41
Optimization using decision diagrams
fixnum unsigned-byte number (eql 42) (satisfies P4) unsigned-byte ⊥ (satisfies P2) (satisfies P1) T (satisfies P3)
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 36 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 37 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 38 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 38 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 38 / 41
Optimization using decision diagrams
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 38 / 41
Conclusion
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 39 / 41
Conclusion
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 40 / 41
Conclusion
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 40 / 41
Conclusion
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 40 / 41
Conclusion
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 41 / 41
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 42 / 41
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 43 / 41
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 43 / 41
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 43 / 41
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 43 / 41
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 44 / 41
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 44 / 41
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 45 / 41
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 46 / 41
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 47 / 41
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 48 / 41
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 49 / 41
Jim Newton (11th European Lisp Symposium) Strategies for typecase optimization 16-17 April 2017 49 / 41