{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2025-12-14T01:33:56.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2025-12-14T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":1763,"title":"Primes for Large N:  2^30, System Memory Limit","description":"This Challenge is to further improve the \"primes\" function for speed/memory usage to the Limit of Cody Memory.\r\n\r\nThe Matlab function \"primes\" has a very efficient sieving method but it suffers from memory usage issues, especially on limited memory systems.\r\n\r\nThe \u003chttp://www.mathworks.com/matlabcentral/cody/problems/1761-primes-faster-for-large-n Primes Faster Challenge\u003e gives the first half to maximizing the primes function for optimal memory usage and speed.\r\n\r\nCody appears to have 2GB of RAM based upon \"out of memory\" messages observed.\r\n\r\nThe test case of 2^30 pushes the upper limits of Cody memory.\r\n\r\nThe reference solution can process N=2^32 on an 8GB machine in 68sec.\r\n\r\n*Input:* N  (max of primes to find)\r\n\r\n*Output:* vector of primes  (all primes less than or equal to N)\r\n\r\n*Scoring:* Time to find all primes \u003c 2^30\r\n\r\n*Hints:*\r\n\r\n  1) Doubles use 8 bytes;\r\n  2) The primes method  p(((k*k+1)/2):k:q) creates a vector using q/k*8 bytes. This is 8/3 the size of p for k=3 because k is a double. \r\n  3) Segmentation will keep memory usage below limits at the cost of time.\r\n  4) Cody Available Memory appears to be 537.27MB. XP Operating system eats memory.\r\n  5) Usage of profiler and Task Manager combined give performance insights.","description_html":"\u003cp\u003eThis Challenge is to further improve the \"primes\" function for speed/memory usage to the Limit of Cody Memory.\u003c/p\u003e\u003cp\u003eThe Matlab function \"primes\" has a very efficient sieving method but it suffers from memory usage issues, especially on limited memory systems.\u003c/p\u003e\u003cp\u003eThe \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/1761-primes-faster-for-large-n\"\u003ePrimes Faster Challenge\u003c/a\u003e gives the first half to maximizing the primes function for optimal memory usage and speed.\u003c/p\u003e\u003cp\u003eCody appears to have 2GB of RAM based upon \"out of memory\" messages observed.\u003c/p\u003e\u003cp\u003eThe test case of 2^30 pushes the upper limits of Cody memory.\u003c/p\u003e\u003cp\u003eThe reference solution can process N=2^32 on an 8GB machine in 68sec.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e N  (max of primes to find)\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e vector of primes  (all primes less than or equal to N)\u003c/p\u003e\u003cp\u003e\u003cb\u003eScoring:\u003c/b\u003e Time to find all primes \u0026lt; 2^30\u003c/p\u003e\u003cp\u003e\u003cb\u003eHints:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e1) Doubles use 8 bytes;\r\n2) The primes method  p(((k*k+1)/2):k:q) creates a vector using q/k*8 bytes. This is 8/3 the size of p for k=3 because k is a double. \r\n3) Segmentation will keep memory usage below limits at the cost of time.\r\n4) Cody Available Memory appears to be 537.27MB. XP Operating system eats memory.\r\n5) Usage of profiler and Task Manager combined give performance insights.\r\n\u003c/pre\u003e","function_template":"function p = primes_faster_large(n)\r\n% Standard primes will not succeed\r\n  p=[];\r\nreturn\r\n\r\n%PRIMES Generate list of prime numbers.\r\n%   PRIMES(N) is a row vector of the prime numbers less than or \r\n%   equal to N.  A prime number is one that has no factors other\r\n%   than 1 and itself.\r\n%   Class support for input N:\r\n%      float: double, single\r\n%   See also FACTOR, ISPRIME.\r\n%   Copyright 1984-2004 The MathWorks, Inc. \r\n%   $Revision: 1.16.4.3 $  $Date: 2010/08/23 23:13:13 $\r\n\r\nif length(n)~=1 \r\n  error(message('MATLAB:primes:InputNotScalar')); \r\nend\r\nif n \u003c 2, p = zeros(1,0,class(n)); return, end\r\np = 1:2:n;\r\nq = length(p);\r\np(1) = 2;\r\nfor k = 3:2:sqrt(n)\r\n  if p((k+1)/2)\r\n     p(((k*k+1)/2):k:q) = 0;\r\n  end\r\nend\r\np = p(p\u003e0);\r\n\r\nend","test_suite":"feval(@assignin,'caller','score',55);\r\n%%\r\ntic\r\nassert(isequal(primes_faster_large(1),primes(1)))\r\nassert(isequal(primes_faster_large(2),primes(2)))\r\nfor i=1:10\r\n n=randi(2000,1);\r\n assert(isequal(primes_faster_large(n),primes(n)))\r\nend\r\ntoc\r\n%%\r\ntic\r\nta=clock;\r\n p = primes_faster_large(2^30);\r\nt1=etime(clock,ta); % time in sec\r\nfprintf('P 2^30 %12i %10.3f\\n',length(p),t1)\r\nassert(isequal(length(p),54400028))\r\nassert(all(diff(p)\u003e0))\r\n%assert(isequal(size(unique(p),2),54400028))\r\nptr=randi(7603553,1,10); % small to avoid timeout\r\npchk=double(p(ptr));\r\nassert(all(isprime(pchk)))\r\nfeval(  @assignin,'caller','score',floor(min(55,t1))  );\r\ntoc\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":7,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":26,"test_suite_updated_at":"2013-08-07T00:23:25.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2013-07-30T19:43:11.000Z","updated_at":"2025-06-07T08:19:24.000Z","published_at":"2013-07-31T04:12:38.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is to further improve the \\\"primes\\\" function for speed/memory usage to the Limit of Cody Memory.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Matlab function \\\"primes\\\" has a very efficient sieving method but it suffers from memory usage issues, especially on limited memory systems.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/1761-primes-faster-for-large-n\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ePrimes Faster Challenge\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e gives the first half to maximizing the primes function for optimal memory usage and speed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCody appears to have 2GB of RAM based upon \\\"out of memory\\\" messages observed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe test case of 2^30 pushes the upper limits of Cody memory.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe reference solution can process N=2^32 on an 8GB machine in 68sec.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e N (max of primes to find)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e vector of primes (all primes less than or equal to N)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eScoring:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Time to find all primes \u0026lt; 2^30\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eHints:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[1) Doubles use 8 bytes;\\n2) The primes method  p(((k*k+1)/2):k:q) creates a vector using q/k*8 bytes. This is 8/3 the size of p for k=3 because k is a double. \\n3) Segmentation will keep memory usage below limits at the cost of time.\\n4) Cody Available Memory appears to be 537.27MB. XP Operating system eats memory.\\n5) Usage of profiler and Task Manager combined give performance insights.]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":1763,"title":"Primes for Large N:  2^30, System Memory Limit","description":"This Challenge is to further improve the \"primes\" function for speed/memory usage to the Limit of Cody Memory.\r\n\r\nThe Matlab function \"primes\" has a very efficient sieving method but it suffers from memory usage issues, especially on limited memory systems.\r\n\r\nThe \u003chttp://www.mathworks.com/matlabcentral/cody/problems/1761-primes-faster-for-large-n Primes Faster Challenge\u003e gives the first half to maximizing the primes function for optimal memory usage and speed.\r\n\r\nCody appears to have 2GB of RAM based upon \"out of memory\" messages observed.\r\n\r\nThe test case of 2^30 pushes the upper limits of Cody memory.\r\n\r\nThe reference solution can process N=2^32 on an 8GB machine in 68sec.\r\n\r\n*Input:* N  (max of primes to find)\r\n\r\n*Output:* vector of primes  (all primes less than or equal to N)\r\n\r\n*Scoring:* Time to find all primes \u003c 2^30\r\n\r\n*Hints:*\r\n\r\n  1) Doubles use 8 bytes;\r\n  2) The primes method  p(((k*k+1)/2):k:q) creates a vector using q/k*8 bytes. This is 8/3 the size of p for k=3 because k is a double. \r\n  3) Segmentation will keep memory usage below limits at the cost of time.\r\n  4) Cody Available Memory appears to be 537.27MB. XP Operating system eats memory.\r\n  5) Usage of profiler and Task Manager combined give performance insights.","description_html":"\u003cp\u003eThis Challenge is to further improve the \"primes\" function for speed/memory usage to the Limit of Cody Memory.\u003c/p\u003e\u003cp\u003eThe Matlab function \"primes\" has a very efficient sieving method but it suffers from memory usage issues, especially on limited memory systems.\u003c/p\u003e\u003cp\u003eThe \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/1761-primes-faster-for-large-n\"\u003ePrimes Faster Challenge\u003c/a\u003e gives the first half to maximizing the primes function for optimal memory usage and speed.\u003c/p\u003e\u003cp\u003eCody appears to have 2GB of RAM based upon \"out of memory\" messages observed.\u003c/p\u003e\u003cp\u003eThe test case of 2^30 pushes the upper limits of Cody memory.\u003c/p\u003e\u003cp\u003eThe reference solution can process N=2^32 on an 8GB machine in 68sec.\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e N  (max of primes to find)\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e vector of primes  (all primes less than or equal to N)\u003c/p\u003e\u003cp\u003e\u003cb\u003eScoring:\u003c/b\u003e Time to find all primes \u0026lt; 2^30\u003c/p\u003e\u003cp\u003e\u003cb\u003eHints:\u003c/b\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e1) Doubles use 8 bytes;\r\n2) The primes method  p(((k*k+1)/2):k:q) creates a vector using q/k*8 bytes. This is 8/3 the size of p for k=3 because k is a double. \r\n3) Segmentation will keep memory usage below limits at the cost of time.\r\n4) Cody Available Memory appears to be 537.27MB. XP Operating system eats memory.\r\n5) Usage of profiler and Task Manager combined give performance insights.\r\n\u003c/pre\u003e","function_template":"function p = primes_faster_large(n)\r\n% Standard primes will not succeed\r\n  p=[];\r\nreturn\r\n\r\n%PRIMES Generate list of prime numbers.\r\n%   PRIMES(N) is a row vector of the prime numbers less than or \r\n%   equal to N.  A prime number is one that has no factors other\r\n%   than 1 and itself.\r\n%   Class support for input N:\r\n%      float: double, single\r\n%   See also FACTOR, ISPRIME.\r\n%   Copyright 1984-2004 The MathWorks, Inc. \r\n%   $Revision: 1.16.4.3 $  $Date: 2010/08/23 23:13:13 $\r\n\r\nif length(n)~=1 \r\n  error(message('MATLAB:primes:InputNotScalar')); \r\nend\r\nif n \u003c 2, p = zeros(1,0,class(n)); return, end\r\np = 1:2:n;\r\nq = length(p);\r\np(1) = 2;\r\nfor k = 3:2:sqrt(n)\r\n  if p((k+1)/2)\r\n     p(((k*k+1)/2):k:q) = 0;\r\n  end\r\nend\r\np = p(p\u003e0);\r\n\r\nend","test_suite":"feval(@assignin,'caller','score',55);\r\n%%\r\ntic\r\nassert(isequal(primes_faster_large(1),primes(1)))\r\nassert(isequal(primes_faster_large(2),primes(2)))\r\nfor i=1:10\r\n n=randi(2000,1);\r\n assert(isequal(primes_faster_large(n),primes(n)))\r\nend\r\ntoc\r\n%%\r\ntic\r\nta=clock;\r\n p = primes_faster_large(2^30);\r\nt1=etime(clock,ta); % time in sec\r\nfprintf('P 2^30 %12i %10.3f\\n',length(p),t1)\r\nassert(isequal(length(p),54400028))\r\nassert(all(diff(p)\u003e0))\r\n%assert(isequal(size(unique(p),2),54400028))\r\nptr=randi(7603553,1,10); % small to avoid timeout\r\npchk=double(p(ptr));\r\nassert(all(isprime(pchk)))\r\nfeval(  @assignin,'caller','score',floor(min(55,t1))  );\r\ntoc\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":7,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":26,"test_suite_updated_at":"2013-08-07T00:23:25.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2013-07-30T19:43:11.000Z","updated_at":"2025-06-07T08:19:24.000Z","published_at":"2013-07-31T04:12:38.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is to further improve the \\\"primes\\\" function for speed/memory usage to the Limit of Cody Memory.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Matlab function \\\"primes\\\" has a very efficient sieving method but it suffers from memory usage issues, especially on limited memory systems.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/1761-primes-faster-for-large-n\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ePrimes Faster Challenge\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e gives the first half to maximizing the primes function for optimal memory usage and speed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCody appears to have 2GB of RAM based upon \\\"out of memory\\\" messages observed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe test case of 2^30 pushes the upper limits of Cody memory.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe reference solution can process N=2^32 on an 8GB machine in 68sec.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e N (max of primes to find)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e vector of primes (all primes less than or equal to N)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eScoring:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Time to find all primes \u0026lt; 2^30\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eHints:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[1) Doubles use 8 bytes;\\n2) The primes method  p(((k*k+1)/2):k:q) creates a vector using q/k*8 bytes. This is 8/3 the size of p for k=3 because k is a double. \\n3) Segmentation will keep memory usage below limits at the cost of time.\\n4) Cody Available Memory appears to be 537.27MB. XP Operating system eats memory.\\n5) Usage of profiler and Task Manager combined give performance insights.]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"term":"tag:\"memory collision\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"memory collision\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"memory collision\"","","\"","memory collision","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f4f1fc8f8c8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f4f1fc8f828\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f4f1fc8ef68\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f4f1fc8fb48\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f4f1fc8faa8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f4f1fc8fa08\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f4f1fc8f968\u003e":"tag:\"memory collision\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f4f1fc8f968\u003e":"tag:\"memory collision\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"search","password":"J3bGPZzQ7asjJcCk","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"memory collision\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"memory collision\"","","\"","memory collision","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f4f1fc8f8c8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f4f1fc8f828\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f4f1fc8ef68\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f4f1fc8fb48\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f4f1fc8faa8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f4f1fc8fa08\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f4f1fc8f968\u003e":"tag:\"memory collision\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f4f1fc8f968\u003e":"tag:\"memory collision\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":1763,"difficulty_rating":"easy"}]}}