diff options
author | dec05eba <dec05eba@protonmail.com> | 2022-02-11 17:41:33 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2022-02-11 17:41:33 +0100 |
commit | 6cad09ec9c801e90d41f53ebcd673ef89050cc86 (patch) | |
tree | a57b30c824c663ed7730a6df6f2478a4a5b500e8 /optimize.md | |
parent | 8d1532abb6f7441e00ffbc7ed4d0231e5023e19a (diff) |
Diffstat (limited to 'optimize.md')
-rw-r--r-- | optimize.md | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/optimize.md b/optimize.md new file mode 100644 index 0000000..b2418ef --- /dev/null +++ b/optimize.md @@ -0,0 +1,33 @@ +Turn ['a', 'i', 'u', 'e', 'o'].contains(c) into: + +1 - inline: +char arr[] = { 'a', 'i', 'u', 'e', 'o' }; +for(int i = 0; i < 5; ++i) { + if(arr[i] == c) + return true; +} +return false; + +2 - constant loop unrolling: +if('a' == c) + return true; +if('i' == c) + return true; +if('u' == c) + return true; +if('e' == c) + return true; +if('o' == c) + return true; +return false; + +3 - multiple comparisons to same variable turned into a switch: +switch(c) { + case 'a': + case 'i': + case 'u': + case 'e': + case 'o': + return true; +} +return false; |