{"id":21801,"date":"2014-05-13T11:19:01","date_gmt":"2014-05-13T09:19:01","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=21801"},"modified":"2014-05-13T11:19:01","modified_gmt":"2014-05-13T09:19:01","slug":"computers-are-fast","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2014\/05\/13\/computers-are-fast\/","title":{"rendered":"Computers are *fast*!"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"http:\/\/jvns.ca\/blog\/2014\/05\/12\/computers-are-fast\/\">Computers are *fast*!<\/a><\/p>\n<blockquote><p>So instead I used\u00a0<em>perf<\/em>, which is a\u00a0<em>totally magical<\/em>\u00a0performance measurement tool for Linux. I needed to upgrade my kernel first, which was a bit nervewracking. But I did it! And it was beautiful. There are colours, and we got it to annotate the assembly code with performance statistics. Here\u2019s what I ran to do it:<\/p>\n<pre class=\"brush: bash; light: true; title: ; notranslate\" title=\"\">\r\n$ perf record .\/bytesum_intrinsics The\\ Newsroom\\ S01E04.mp4\r\n$ perf annotate --no-source\r\n<\/pre>\n<p>And here\u2019s the result:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/05\/perf.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"21802\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2014\/05\/13\/computers-are-fast\/perf\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/05\/perf.png?fit=396%2C217&amp;ssl=1\" data-orig-size=\"396,217\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"perf\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/05\/perf.png?fit=396%2C217&amp;ssl=1\" class=\"size-full wp-image-21802 aligncenter\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/05\/perf.png?resize=396%2C217&#038;ssl=1\" alt=\"perf\" width=\"396\" height=\"217\" \/><\/a><\/p>\n<p>The\u00a0<em>movdqa<\/em>\u00a0instructions have to do with accessing memory, and it spends 32% of its time on those instructions. So I\u00a0<em>think<\/em>\u00a0that means that it spends 32% of its time accessing RAM, and the other 68% of its time doing calculations. Super neat!<\/p><\/blockquote>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Computers are *fast*! So instead I used\u00a0perf, which is a\u00a0totally magical\u00a0performance measurement tool for Linux. I needed to upgrade my kernel first, which was a bit nervewracking. But I did it! And it was beautiful. There are colours, and we got it to annotate the assembly code with performance statistics. Here\u2019s what I ran to &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2014\/05\/13\/computers-are-fast\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Computers are *fast*!<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"link","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,6,18,62],"tags":[9,246,1057],"keyring_services":[],"class_list":["post-21801","post","type-post","status-publish","format-link","hentry","category-general","category-linux","category-programming","category-technology","tag-hardware","tag-optimization","tag-performance","post_format-post-format-link"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":27671,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/06\/08\/git-commit-good-practice\/","url_meta":{"origin":21801,"position":0},"title":"Git Commit Good Practice","author":"Leonid Mamchenkov","date":"June 8, 2017","format":false,"excerpt":"Open Stack wiki has an excellent guide on how to create good commits. \u00a0In a few places it is too specific to Open Stack development practices, but overall it's one of the best guides I've seen for any project using git. It is basically split into two sections. \u00a0One on\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/06\/git_commit.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":27506,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/04\/09\/computers-are-fast\/","url_meta":{"origin":21801,"position":1},"title":"Computers are fast!","author":"Leonid Mamchenkov","date":"April 9, 2017","format":false,"excerpt":"One of the recent Julia's Drawings exposes how fast computers really are. \u00a0See this page for more examples of how much a computer can do in just one second.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/04\/computers-are-fast-333x500.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":7981,"url":"https:\/\/mamchenkov.net\/wordpress\/2004\/09\/30\/timestamp_image\/","url_meta":{"origin":21801,"position":2},"title":"timestamp_image","author":"Leonid Mamchenkov","date":"September 30, 2004","format":false,"excerpt":"This is yet another script to deal with images from digital cameras. It will scale (resize preserving the width to height ratio) down the image to the size you've specified and annotate (write on top of the image) it with date time taken from EXIF header of the image. Font\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":28820,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/09\/28\/gmail-autocomplete\/","url_meta":{"origin":21801,"position":3},"title":"Gmail autocomplete","author":"Leonid Mamchenkov","date":"September 28, 2018","format":false,"excerpt":"As somebody who spends a lot of time in the text editor, working with code, and on the Linux command line, I see text autocomplete as one of the basic, native functionality.\u00a0 It's almost like copy-paste, selection, and undo. Gmail has recently extended the Smart Compose feature with exactly that.\u00a0\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/09\/Smart-compose_Taco_Tuesday-500x313.gif?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":10294,"url":"https:\/\/mamchenkov.net\/wordpress\/2006\/08\/02\/daily-del-icio-us-bookmarks\/","url_meta":{"origin":21801,"position":4},"title":"Daily del.icio.us bookmarks","author":"Leonid Mamchenkov","date":"August 2, 2006","format":false,"excerpt":"Shared bookmarks for del.icio.us user tvset on 2006-08-01 Camels and Rubber Duckies - Joel on Software -- Pricing 101 from Joel Spolsky Tagged as: analysis business economy finance marketing money prices pricing software startup strategy technology tips Myths, Lies, and Truths about the Linux kernel -- Excellent presentation from Ottawa\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9938,"url":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/27\/daily-del-icio-us-bookmarks\/","url_meta":{"origin":21801,"position":5},"title":"Daily del.icio.us bookmarks","author":"Leonid Mamchenkov","date":"February 27, 2006","format":false,"excerpt":"Shared bookmarks for del.icio.us user tvset on 2006-02-26 alexander kirk \u00c2\u00bb Blog Archive \u00c2\u00bb 10 Realistic Steps to a Faster Web Site Tagged as: development lists optimization performance programming tips top10 tuning web PortableApps.com | Your Digital Life, Anywhere\u00e2\u201e\u00a2 -- Things you can carry on your USB drive Tagged as:\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/21801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=21801"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/21801\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=21801"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=21801"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=21801"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=21801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}