{"action":"closed","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/6040","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/6040/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/6040/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/6040/events","html_url":"https://github.com/JuliaLang/julia/issues/6040","id":28680885,"number":6040,"title":"Slow complex-real matrix products","user":{"login":"Manticore","id":30720,"avatar_url":"https://avatars.githubusercontent.com/u/30720?v=3","gravatar_id":"","url":"https://api.github.com/users/Manticore","html_url":"https://github.com/Manticore","followers_url":"https://api.github.com/users/Manticore/followers","following_url":"https://api.github.com/users/Manticore/following{/other_user}","gists_url":"https://api.github.com/users/Manticore/gists{/gist_id}","starred_url":"https://api.github.com/users/Manticore/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Manticore/subscriptions","organizations_url":"https://api.github.com/users/Manticore/orgs","repos_url":"https://api.github.com/users/Manticore/repos","events_url":"https://api.github.com/users/Manticore/events{/privacy}","received_events_url":"https://api.github.com/users/Manticore/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/JuliaLang/julia/labels/linear+algebra","name":"linear algebra","color":"aa8800"},{"url":"https://api.github.com/repos/JuliaLang/julia/labels/performance","name":"performance","color":"d7e102"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2014-03-04T05:15:11Z","updated_at":"2015-01-16T16:22:01Z","closed_at":"2015-01-16T16:22:01Z","body":"Consider [the following benchmark](https://gist.github.com/Manticore/9340564). It compares the performance of the dot product for matrices of different sizes in Julia and in Python.\r\n\r\nMy configuration:\r\nOSX 10.9.2\r\nPython 3.3.4, numpy 1.8.0\r\nJulia HEAD (as of 4 Mar 2014, commit d36bb08f63880f9428afef5a02daf964d3c2ec40), compiled with Accelerate\r\n\r\nThe results for the dot tests are (combined side-by-side for convenience)\r\n\r\n**Python** | **Julia**\r\n    \r\n    dot(float, float), 10 x 10: 0.08806 s | 0.029476 s\r\n    dot(float, float), 100 x 100: 0.07486 s | 0.079535 s\r\n    dot(float, float), 1000 x 1000: 0.38337 s | 0.39732 s\r\n    dot(complex, float), 10 x 10: 0.19552 s | 0.090843 s\r\n    dot(complex, float), 100 x 100: 0.16334 s | 0.57663 s\r\n    dot(complex, float), 1000 x 1000: 1.5419 s | 5.4734 s\r\n    dot(complex, complex), 10 x 10: 0.14413 s | 0.086742 s\r\n    dot(complex, complex), 100 x 100: 0.15740 s | 0.20056 s\r\n    dot(complex, complex), 1000 x 1000: 1.4927 s | 1.4955 s\r\n\r\nFor float-float and complex-complex products Julia and Python show similar performance (as I would expect, since they use the same linear algebra backend). But in complex-float products of sufficiently large matrices Julia is suddenly 4 times slower! Is there some float-to-complex conversion happening in the background?"}}