{"id":283,"date":"2007-03-08T17:58:31","date_gmt":"2007-03-08T17:58:31","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=283"},"modified":"2017-01-29T13:34:42","modified_gmt":"2017-01-29T04:34:42","slug":"stl%ec%9d%98-map-%ec%bb%a8%ed%85%8c%ec%9d%b4%eb%84%88-%ed%85%8c%ec%8a%a4%ed%8a%b8","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=283","title":{"rendered":"STL\uc758 map \ucee8\ud14c\uc774\ub108 \ud14c\uc2a4\ud2b8"},"content":{"rendered":"<p>STL\uc758 \ucee8\ud14c\uc774\ub108 \uc911\uc5d0\uc11c Hash \uac80\uc0c9 \uc54c\uace0\ub9ac\uc998\uc744 \uc0ac\uc6a9\ud558\uace0 \uc788\ub294 map \ucee8\ud14c\uc774\ub108\ub97c \ud14c\uc2a4\ud2b8 \ud574\ubcf4\uc558\ub2e4. Hash \uac80\uc0c9 \uc54c\uace0\ub9ac\uc998\uc740 \uac80\uc0c9 \ud56d\ubaa9\uc758 \uac1c\uc218\uc5d0 \uc0c1\uad00\uc5c6\uc774 \uac80\uc0c9\uc2dc\uac04\uc740 \ud56d\uc0c1 \uc77c\uc815\ud558\ub2e4\ub77c\uace0 \ub418\uc5b4 \uc788\ub2e4. \ubc14\ub85c \uc774\uac83\uc744 \ud14c\uc2a4\ud2b8\ud574 \ubcf4\uace0\uc790 \ud588\ub2e4.<\/p>\n<p>N\uc758 \uac1c\uc218\ub294 \ucc9c\ub9cc(10,000,000)\uac1c\ub97c \uc0dd\uc131\ud588\uc73c\uba70 hash key\ub294 unsigned long \ud0c0\uc785\uc73c\ub85c \ud588\ub2e4. 0, 2000000, 5000000, 7000000, 9999999 hash key \uac12\uc744 \uac80\uc0c9\ud558\uc5ec \uadf8\uacf3\uc5d0 -1\uc744 \ub123\uc5c8\ub2e4. \uacfc\uc5f0 \uc0c1\uc218 \uc2dc\uac04\uc774 \ub098\uc62c \uac83\uc778\uac00? \ub098\uc62c \uacbd\uc6b0 \uc2dc\uac04\uc740 \uc5bc\ub9c8\ub098 \uac78\ub9b4\uac83\uc778\uac00&#8230;<\/p>\n<p>\uc544\ub798\ub294 \uadf8 \uacb0\uacfc\ub2e4..<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1405226531.png\" alt=\"\" width=\"429\" height=\"499\" \/><br \/>\n\uc18c\uc694 \uc2dc\uac04\uc740 \ubd84\uba85 \uc0c1\uc218\uc774\uae34 \ud55c\ub370&#8230;. 0\ucd08\ub2e4. \ubd84\uba85 0\ucd08\ub294 \uc544\ub2c8\uaca0\uc9c0\ub9cc \uac70\uc758 0\ucd08\uac00 \uac78\ub9b0\ub2e4. \uc0ac\uc2e4 \ubbff\uae30\uc9c0\uac00 \uc54a\ub294\ub2e4. \uc544\ub798\ub294 \ud14c\uc2a4\ud2b8\ud55c \ucf54\ub4dc\uc778\ub370&#8230; \uc798\ubabb\ub41c \ubd80\ubd84\uc774\ub77c\ub3c4 \uc788\ub294\uac74\uac00? \uc633\ubc14\ub974\ub2e4\uba74 stl\uc758 map \ucee8\ud14c\uc774\ub108\ub294 \uc815\ub9d0 \ubb3c\uac74\uc774\ub2e4&#8230;<\/p>\n<pre><#include <map>\r\n#include &lt;sys\/timeb.h&gt;\r\n#include \r\n\r\nusing namespace std;\r\n\r\nvoid PerformanceTest(bool bStart, const char *szTitle=\"\") {\r\n    static timeb start;\r\n    static timeb stop;\r\n\r\n    if(bStart) {\r\n        ftime(&amp;start);\r\n    } else {\r\n        ftime(&amp;stop);\r\n\r\n        double gab;\r\n        gab = 1.0e3 * difftime(stop.time, start.time);\r\n        gab+=(double)(stop.millitm - start.millitm);\r\n\r\n        double ReturnValue = gab\/1.0e3;\r\n        printf( \"%s: %.10lf sec required.\\n\", szTitle, ReturnValue);\r\n    }\r\n}\r\n\r\nmap container_;\r\n\r\nint _tmain(int argc, _TCHAR* argv[])\r\n{\r\n    PerformanceTest(true);\r\n    for(unsigned long i=0; i&lt;10000000; i++) {\r\n        container_[i] = i;\r\n    }\r\n    PerformanceTest(false, \"generating 10000000 data\");\r\n\r\n    printf(\"Now container has %ld items.\\n\\n\", container_.size());\r\n\r\n    for(size_t i=0; i<5; i++) {\r\n        PerformanceTest(true);\r\n        container_[0] = -1;\r\n        PerformanceTest(false, \"finding index 0:\");\r\n\r\n        PerformanceTest(true);\r\n        container_[2000000] = -1;\r\n        PerformanceTest(false, \"finding index 2000000:\");\r\n\r\n        PerformanceTest(true);\r\n        container_[5000000] = -1;\r\n        PerformanceTest(false, \"finding index 5000000:\");\r\n\r\n        PerformanceTest(true);\r\n        container_[7000000] = -1;\r\n        PerformanceTest(false, \"finding index 7000000:\");\r\n\r\n        PerformanceTest(true);\r\n        container_[10000000-1] = -1;\r\n        PerformanceTest(false, \"finding index 9999999:\");\r\n    }\r\n\r\n    printf(\"\\n[%ld %ld %ld %ld %ld]\\n\", \r\n        container_[0], \r\n        container_[2000000], \r\n        container_[5000000], \r\n        container_[7000000], \r\n        container_[9999999]\r\n    );\r\n\r\n    return 0;\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>STL\uc758 \ucee8\ud14c\uc774\ub108 \uc911\uc5d0\uc11c Hash \uac80\uc0c9 \uc54c\uace0\ub9ac\uc998\uc744 \uc0ac\uc6a9\ud558\uace0 \uc788\ub294 map \ucee8\ud14c\uc774\ub108\ub97c \ud14c\uc2a4\ud2b8 \ud574\ubcf4\uc558\ub2e4. Hash \uac80\uc0c9 \uc54c\uace0\ub9ac\uc998\uc740 \uac80\uc0c9 \ud56d\ubaa9\uc758 \uac1c\uc218\uc5d0 \uc0c1\uad00\uc5c6\uc774 \uac80\uc0c9\uc2dc\uac04\uc740 \ud56d\uc0c1 \uc77c\uc815\ud558\ub2e4\ub77c\uace0 \ub418\uc5b4 \uc788\ub2e4. \ubc14\ub85c \uc774\uac83\uc744 \ud14c\uc2a4\ud2b8\ud574 \ubcf4\uace0\uc790 \ud588\ub2e4. N\uc758 \uac1c\uc218\ub294 \ucc9c\ub9cc(10,000,000)\uac1c\ub97c \uc0dd\uc131\ud588\uc73c\uba70 hash key\ub294 unsigned long \ud0c0\uc785\uc73c\ub85c \ud588\ub2e4. 0, 2000000, 5000000, 7000000, 9999999 hash key \uac12\uc744 \uac80\uc0c9\ud558\uc5ec \uadf8\uacf3\uc5d0 -1\uc744 \ub123\uc5c8\ub2e4. \uacfc\uc5f0 \uc0c1\uc218 \uc2dc\uac04\uc774 \ub098\uc62c &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=283\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;STL\uc758 map \ucee8\ud14c\uc774\ub108 \ud14c\uc2a4\ud2b8&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[14],"class_list":["post-283","post","type-post","status-publish","format-standard","hentry","category-programming","tag-c"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=283"}],"version-history":[{"count":3,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/283\/revisions"}],"predecessor-version":[{"id":3656,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/283\/revisions\/3656"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=283"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}