From 1896088a8d03f69cd041d35754e1fd5fe6a8c753 Mon Sep 17 00:00:00 2001 From: Nitin Gupta Date: Mon, 12 Oct 2020 20:50:48 +0530 Subject: [PATCH 1/3] Create optimizations.md Article for optimizations. --- practices/optimizations.md | 55 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 practices/optimizations.md diff --git a/practices/optimizations.md b/practices/optimizations.md new file mode 100644 index 00000000..654fce5c --- /dev/null +++ b/practices/optimizations.md @@ -0,0 +1,55 @@ +--- +slug: optimizations +stages: + - development +short_description: Optimization is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources +tags: + - optimizations + - code coverage +keywords: + - code - quality + - merge + - testing + - codebase +--- + +# Optimizations + +**TL;DR** + +Optimization is an act, process, or methodology of making something (such as a design, system, or decision) as fully perfect, functional, or effective as possible + +## What Is an Optimization +The code optimization in the synthesis phase is a program transformation technique, which tries to improve the intermediate code by making it consume fewer resources (i.e. CPU, Memory) so that faster-running machine code will result. + +## Why You Might Want the Optimization + +Optimizing an algorithm is beyond the scope of the code optimization phase. So the program is optimized. And it may involve reducing the size of the code. So optimization helps to: + +- Reduce the space consumed and increases the speed of compilation. +- Manually analyzing datasets involves a lot of time. Hence we make use of software like Tableau for data analysis. Similarly manually performing the optimization is also tedious and is better done using a code optimizer. +- An optimized code often promotes re-usability. + +## How to Implement the Optimization +1. **Optimize your Code using Appropriate Algorithm** +2. **Optimize Your Code for Memory** +4. **Using Operators** : Most basic operations like +=, -=, and *=, when applied on basic data types could slow down the program as well. +5. **Problems with Functions** : For example, if you have a code like this, it might be a bad thing. +``` +for(int i=1; i<=10; ++i) + DoSomething(i); +``` +6. **Optimizing Loops** +7. **Data Structure Optimization** + +## Common Pitfalls of the Optimization + +- Time based optimization will give faster output, but it can lead up to a bigger code base. So to optimize the code for time performance may actually conflict with memory and size consumption. For that, you have to find the +balance between time and memory, in consideration to your requirement. + - Performance optimization is a never-ending process. There are always chances to improve and make your code run faster. +- Sometimes, we can be tempted to use certain programming methods to run faster at the expense of not following best practices like coding standards. Try to avoid any such kind of inappropriate methods. + +## Resources for the Optimization +- Wikipedia: [Program Optimizations](https://en.wikipedia.org/wiki/Program_optimization) +- Einfochips: [ Goals of Optimization](https://www.einfochips.com/wp-content/uploads/resources/a-practical-approach-to-optimize-code-implementation.pdf) +- The Geek Stuff: [ Optimization Tips](https://www.thegeekstuff.com/2015/01/c-cpp-code-optimization/) From 46610026616d2ac3f8daac9df027bf29ac5ab919 Mon Sep 17 00:00:00 2001 From: Nitin Gupta Date: Fri, 23 Oct 2020 06:09:30 +0530 Subject: [PATCH 2/3] Add files via upload Uploaded image for code optimization.md --- files/optimize.jpeg | Bin 0 -> 11777 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 files/optimize.jpeg diff --git a/files/optimize.jpeg b/files/optimize.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f1caf958657c6eee9505de533febccf5f0767f4a GIT binary patch literal 11777 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∋;Ie5oZ( z`$;PfEQL$Y$XID}E6-&t_r}t9<{aN1QAaOXua=n3`aF*cnZ547BdoSv=0LELZQ9!u zTX{#BEL8D7=hDl-v&;X zu(B`~pT?CSskOWcJU_9!m`gyQT>ILQ&nZqy-xfI zNZV3$)Z?iXgGWtx~IC-=9;&&2r;-yC_qELUCV z;wi%=l^9IIrh*(2_b<%n)_>jP6VK(%pJvEMx^pb0WU^Ehaco*~AwXwBDgF3lzqjz4 zRpla1Y8Du16&cWonvX8;D%L}B8I<((2bZIG~2?y-v0E}9bO?cd1Cc_O=t^NWITt=(o%_tC~LE# zj$ScyD7qs_qrixoMxly~(NM4EtNnqO$guUO7=75D8Aah_0Y zT=ccd_u6*6Pv4wul(lzB!6DSy5ON7SL5X2}h&z0oPC3c5v_-O7P6{x%#I#qeshVgE zjJ$EZzQ_ghz!;Z$n;DZ0XS#6~#N(ss?iwCzdXJm%cff-cDC&DSzcya}KAca#mm6|m zlz0Moeta9n9wF5m@a0_f7Y_}~RBc4(JL9f&y%A92`0hNjOs~TJO^#vsjfn2-h$ zAEgo$Q&E+L7>WRR4rRV#|2>G*V}bVZS%~@8DP{Ho59FB$i4{hHOwml_JCOugy;rydPq1FU~4#M z7`Z9t&Sne3({L(`7>NG%hlp--sbR7lLn7C+v{Y}3+SA;kbHXU+I96@X=Y059u0$>f z?naNzzBc~FB7I-K98JVX{sdBUjKU>#PBTDf%cP?BX!2(XF76AoaKmWaC-W8gGp=MV)G_Mb7A8GnlwEA8-_~A|}M*5QF4q%fC63@{a zuSggiIHWqUg&I6l7qJ#JwA4!+r$)7!L(XOB_sb8;+7l!O5bg%P2aL}0^Iv$5ebdKv z9}^Ems+<4X>5soG;eko%TM;T)#NDFiGM5ds{-_G27pCiIoJqAWR*Q3qHbzX*3(KFY z;}Fi?O8*jWGm3vhJa&oKA6jvpMl^CS=whjsLuM$#5@+a6ngf43^GzuImF{g2$=)!| z<>$`LRMdI%6>htx^uUS?73~VbFJH)PQ>AcNM;e;u{8RKd=G`(oktJggvk{AgDY&hX z6-y@NuG1B?5nU4PYLsxv1G@TK;rbGJ+Pw8?YhSK2e<3H>wMu?7{ywC>DA{oY#VUb6gi-*$k7G~ABTE?BwZ2}oAukNr^eHGQ?PHTg9=gSfn#2jv|*vgt#9 zn~T}lR>B3Y5~G-WQC6rRY$QAWl+1AMhl*_6f$p9xXm_F9-8NetrE|>PymROt$}d1} znU!1{=W%b%l&iN?7TN1+%aJ}(m`}0m+)~@sel1o88V5wFa zT&qpibd>LY_%Gdw+UVAD>be7GWQAEVmxQccm3XmOTMQ&Xrea_BD&lo~G)78-*!fL6 zqtVD_iAI>}&_4#|6s;rjP$ zhd%eEGh8+zSYBk3*ii7=%{dIoHg2-tu5#`~EDtkrteh@~F7ZGWL_gD3uO@M=@<-ut z24JfL=Yb5a<{D>mPN#ZE(gn&>jM9udb|=$zVF93ux-}&(1k~q!O{h>E6lMAMK&(Bh zfat9x^6?5&$_IsrO-qcafBYL}S53OtLW~IICNOAxZ9L7ipfdM{3rzQeeS2yH9P=$Nj7WVzx$5Zw;85KqJ9xSyR=eq3dT`QCUnOQ; zSRA~KA&?+T9y_^O1Kf51BIE!JF1SHX6W(z3j!epEzY4!gN9e# zrdnd<$|2zug(1+wVfh&C)Ukb%vP)L;w^8kAF|YG}qBISK#7>cKy+8C7$1PrzFKdO2 zokWiO#>X7mt86!TL(ThjU|x@nPpAa>fJ0=(8+F4vrw3aRZ z<0R0iyn#+?u7Lv;lt@$njQ(0Q_*xj#f#ZV`4@F*GEWr=4eTNVTrV=9$dbk1(#J!~C$TgC`M6K|ml!s0#d`S! zU}kg~#8??L|8DAK=Flz`pr4G(yQp%z9BwCe!TKFwbpSO!F$sTD?7a{b756;(MODiaMGLg45UW zmyzffuQ|6il8NqIOz+(@t%N z-UHNKz{Z_DF{7v{qN?=c+sgS5m;p*qq~?$_)9{p^qdi1yH){2dt*EaMpaEl`yiN|B z^c|)77@I2wK$Lb25oCk$hX^Eo=8=V|Ys2zbVRQ6w<{z8;*fAdDVD^Jg$vy$;+DJV%c5nI- Date: Fri, 23 Oct 2020 06:30:50 +0530 Subject: [PATCH 3/3] Update optimizations.md --- practices/optimizations.md | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/practices/optimizations.md b/practices/optimizations.md index 654fce5c..674ab032 100644 --- a/practices/optimizations.md +++ b/practices/optimizations.md @@ -17,18 +17,24 @@ keywords: **TL;DR** -Optimization is an act, process, or methodology of making something (such as a design, system, or decision) as fully perfect, functional, or effective as possible +Optimization is an process or methodolgy that is used to make something(for instance any program) to run faster(making it effective) while fulfilling its functionality normally. + ## What Is an Optimization -The code optimization in the synthesis phase is a program transformation technique, which tries to improve the intermediate code by making it consume fewer resources (i.e. CPU, Memory) so that faster-running machine code will result. +The code optimization in the synthesis phase is a program transformation technique,in which the intermediate code is tend to be improved and thus will be consuming fewer resources (i.e. CPU, Memory), hence faster-running machine code will result. + +![Optimization](/files/optimize.jpeg) + [Spconinc.com](https://www.spconinc.com/cerner-millennium-implementation-optimization-support/) + ## Why You Might Want the Optimization -Optimizing an algorithm is beyond the scope of the code optimization phase. So the program is optimized. And it may involve reducing the size of the code. So optimization helps to: +Optimization overall helps to achieve the same goal with lower consumption of resources hence this practice should be followed. +So optimization helps to: -- Reduce the space consumed and increases the speed of compilation. -- Manually analyzing datasets involves a lot of time. Hence we make use of software like Tableau for data analysis. Similarly manually performing the optimization is also tedious and is better done using a code optimizer. -- An optimized code often promotes re-usability. +- High compilation speed and low consumption of space. +- Code optimizers are used to avoid overburn of manual optimization as it involves a lot of time. +- Re-usability can be achieved while following optimization. ## How to Implement the Optimization 1. **Optimize your Code using Appropriate Algorithm** @@ -44,10 +50,9 @@ for(int i=1; i<=10; ++i) ## Common Pitfalls of the Optimization -- Time based optimization will give faster output, but it can lead up to a bigger code base. So to optimize the code for time performance may actually conflict with memory and size consumption. For that, you have to find the -balance between time and memory, in consideration to your requirement. - - Performance optimization is a never-ending process. There are always chances to improve and make your code run faster. -- Sometimes, we can be tempted to use certain programming methods to run faster at the expense of not following best practices like coding standards. Try to avoid any such kind of inappropriate methods. +- Bigger code base is the major problem faced due to time based optimizations. +- Chances to improve and make code run faster never ends hence making Performance optimization a never-ending process. +- Coding standards are compromised sometimes to achieve optimization. ## Resources for the Optimization - Wikipedia: [Program Optimizations](https://en.wikipedia.org/wiki/Program_optimization)