{"id":7987,"date":"2022-09-11T07:36:51","date_gmt":"2022-09-11T02:06:51","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-cost-of-operator-vs-or-operators-closed\/"},"modified":"2022-09-11T07:36:51","modified_gmt":"2022-09-11T02:06:51","slug":"solved-cost-of-operator-vs-or-operators-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-cost-of-operator-vs-or-operators-closed\/","title":{"rendered":"[Solved] cost of == operator vs < or > operators [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-11179614\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"11179614\" data-parentid=\"11179235\" data-score=\"6\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>In the form you provided there is evident difference in complexity: the first code uses 3 operators, then the second &#8212; just one. But OK, lets put this code of and assume you want to compare <code>&gt;<\/code> (or <code>&lt;<\/code>) and <code>==<\/code> (<code>!=<\/code>). If you have ever faced assembler while examing your programs (but i bet you didn&#8217;t) you would notice such code<\/p>\n<pre><code>if (x &lt; 3) \/* action *\/;\n<\/code><\/pre>\n<p>being translated to smth like (for x86 CPU):<\/p>\n<pre><code>  cmp %eax, 3   \/\/ &lt;-- compare EAX and 3. It modifies flags register(*1) (namely ZF, CF, SF and so on)\n  jge @@skip    \/\/ &lt;-- this instruction tells CPU to jump when some conditions related to flags are met(*2).\n                \/\/ So this code is executed when jump is *not* made (when x is *not*\n                \/\/ greater or equal than 3.\n  \/* here is action body *\/\n@@skip:\n  \/\/ ...\n<\/code><\/pre>\n<p>Now consider this code:<\/p>\n<pre><code>if (x == 3) \/* action *\/;\n<\/code><\/pre>\n<p>It will give almost the same assembly (of course, it may differ from mine, but not semantically):<\/p>\n<pre><code>  cmp %eax, 3\n  jne @@skip \/\/ &lt; -- here is the only difference\n  \/* action is run when x is equal to 3 *\/\n@@skip:\n  ...\n<\/code><\/pre>\n<p>Both of this operators (<code>jge<\/code> and <code>jne<\/code> and others jumps) do their job with the same speed (because CPUs are made so, but it obviously depends on its architecture). The more impact on performance does distance of jump (difference between code positions), cache misses (when processor wrongly predicted the jump), and so on. Some instructions are more effective even (use less bytes for example), but remember the only thing: <em>do not pay them so much attention<\/em>. It always better to make algorythmic optimizations, don&#8217;t do savings on matches. Let the compiler do it for you &#8212; it is really more competent in such questions. Focus on your algorythms, code readablity, program architecture, fault-tolerance.. Make speed the last factor.<\/p>\n<p>(*1): <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/en.wikipedia.org\/wiki\/FLAGS_register_%28computing%29\">http:\/\/en.wikipedia.org\/wiki\/FLAGS_register_%28computing%29<\/a><br \/>\n(*2): <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/www.unixwiz.net\/techtips\/x86-jumps.html\">http:\/\/www.unixwiz.net\/techtips\/x86-jumps.html<\/a><\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">6<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved cost of == operator vs < or > operators [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] In the form you provided there is evident difference in complexity: the first code uses 3 operators, then the second &#8212; just one. But OK, lets put this code of and assume you want to compare &gt; (or &lt;) and == (!=). If you have ever faced assembler while examing your programs (but i &#8230; <a title=\"[Solved] cost of == operator vs &lt; or &gt; operators [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-cost-of-operator-vs-or-operators-closed\/\" aria-label=\"More on [Solved] cost of == operator vs &lt; or &gt; operators [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[894,369,325],"class_list":["post-7987","post","type-post","status-publish","format-standard","hentry","category-solved","tag-micro-optimization","tag-operators","tag-performance"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>[Solved] cost of == operator vs &lt; or &gt; operators [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-cost-of-operator-vs-or-operators-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] cost of == operator vs &lt; or &gt; operators [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] In the form you provided there is evident difference in complexity: the first code uses 3 operators, then the second &#8212; just one. But OK, lets put this code of and assume you want to compare &gt; (or &lt;) and == (!=). If you have ever faced assembler while examing your programs (but i ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-cost-of-operator-vs-or-operators-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-11T02:06:51+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-cost-of-operator-vs-or-operators-closed\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-cost-of-operator-vs-or-operators-closed\\\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] cost of == operator vs < or > operators [closed]\",\"datePublished\":\"2022-09-11T02:06:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-cost-of-operator-vs-or-operators-closed\\\/\"},\"wordCount\":238,\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"keywords\":[\"micro-optimization\",\"operators\",\"performance\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-cost-of-operator-vs-or-operators-closed\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-cost-of-operator-vs-or-operators-closed\\\/\",\"name\":\"[Solved] cost of == operator vs < or > operators [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\"},\"datePublished\":\"2022-09-11T02:06:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-cost-of-operator-vs-or-operators-closed\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-cost-of-operator-vs-or-operators-closed\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-cost-of-operator-vs-or-operators-closed\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] cost of == operator vs < or > operators [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\\\/\\\/jassweb.com\"],\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/author\\\/jaspritsinghghumangmail-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] cost of == operator vs < or > operators [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-cost-of-operator-vs-or-operators-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] cost of == operator vs < or > operators [closed] - JassWeb","og_description":"[ad_1] In the form you provided there is evident difference in complexity: the first code uses 3 operators, then the second &#8212; just one. But OK, lets put this code of and assume you want to compare &gt; (or &lt;) and == (!=). If you have ever faced assembler while examing your programs (but i ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-cost-of-operator-vs-or-operators-closed\/","og_site_name":"JassWeb","article_published_time":"2022-09-11T02:06:51+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-cost-of-operator-vs-or-operators-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-cost-of-operator-vs-or-operators-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] cost of == operator vs < or > operators [closed]","datePublished":"2022-09-11T02:06:51+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-cost-of-operator-vs-or-operators-closed\/"},"wordCount":238,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["micro-optimization","operators","performance"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-cost-of-operator-vs-or-operators-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-cost-of-operator-vs-or-operators-closed\/","name":"[Solved] cost of == operator vs < or > operators [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-11T02:06:51+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-cost-of-operator-vs-or-operators-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-cost-of-operator-vs-or-operators-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-cost-of-operator-vs-or-operators-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] cost of == operator vs < or > operators [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/7987","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=7987"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/7987\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=7987"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=7987"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=7987"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}