{"id":76077,"date":"2024-09-08T07:02:11","date_gmt":"2024-09-08T03:32:11","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/%db%8c%d8%a7%d8%af%d8%af%d8%a7%d8%b4%d8%aa-%d9%87%d8%a7%db%8c-%d9%85%d9%86-%d8%af%d8%b1-%d9%85%d9%88%d8%b1%d8%af-%d8%a8%d9%87%db%8c%d9%86%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d8%a7%d9%86%d8%af%d8%b1%d9%88\/"},"modified":"2024-09-08T07:02:11","modified_gmt":"2024-09-08T03:32:11","slug":"%db%8c%d8%a7%d8%af%d8%af%d8%a7%d8%b4%d8%aa-%d9%87%d8%a7%db%8c-%d9%85%d9%86-%d8%af%d8%b1-%d9%85%d9%88%d8%b1%d8%af-%d8%a8%d9%87%db%8c%d9%86%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d8%a7%d9%86%d8%af%d8%b1%d9%88","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/%db%8c%d8%a7%d8%af%d8%af%d8%a7%d8%b4%d8%aa-%d9%87%d8%a7%db%8c-%d9%85%d9%86-%d8%af%d8%b1-%d9%85%d9%88%d8%b1%d8%af-%d8%a8%d9%87%db%8c%d9%86%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d8%a7%d9%86%d8%af%d8%b1%d9%88\/","title":{"rendered":"\u06cc\u0627\u062f\u062f\u0627\u0634\u062a \u0647\u0627\u06cc \u0645\u0646 \u062f\u0631 \u0645\u0648\u0631\u062f \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u0627\u0646\u062f\u0631\u0648\u06cc\u062f \u0628\u062e\u0634 2. \u0645\u062b\u0627\u0644 \u0633\u0631\u06cc\u0639 \u0627\u0632 \u0645\u062d\u06a9 \u0632\u062f\u0646 \u0639\u0628\u0627\u0631\u0627\u062a \u0645\u0646\u0638\u0645 Kotin"},"content":{"rendered":"<p><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\u062a\u063a\u06cc\u06cc\u0631 \u0648\u0636\u0639\u06cc\u062a \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/%db%8c%d8%a7%d8%af%d8%af%d8%a7%d8%b4%d8%aa-%d9%87%d8%a7%db%8c-%d9%85%d9%86-%d8%af%d8%b1-%d9%85%d9%88%d8%b1%d8%af-%d8%a8%d9%87%db%8c%d9%86%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d8%a7%d9%86%d8%af%d8%b1%d9%88\/#%D9%85%D9%86%D8%A7%D8%A8%D8%B9\" >\u0645\u0646\u0627\u0628\u0639<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/%db%8c%d8%a7%d8%af%d8%af%d8%a7%d8%b4%d8%aa-%d9%87%d8%a7%db%8c-%d9%85%d9%86-%d8%af%d8%b1-%d9%85%d9%88%d8%b1%d8%af-%d8%a8%d9%87%db%8c%d9%86%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d8%a7%d9%86%d8%af%d8%b1%d9%88\/#%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D9%85%D9%86_%D8%AF%D8%B1_%D9%81%D8%B1%D9%88%D8%B4%DA%AF%D8%A7%D9%87_Google_Play\" >\u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0646 \u062f\u0631 \u0641\u0631\u0648\u0634\u06af\u0627\u0647 Google Play<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/%db%8c%d8%a7%d8%af%d8%af%d8%a7%d8%b4%d8%aa-%d9%87%d8%a7%db%8c-%d9%85%d9%86-%d8%af%d8%b1-%d9%85%d9%88%d8%b1%d8%af-%d8%a8%d9%87%db%8c%d9%86%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d8%a7%d9%86%d8%af%d8%b1%d9%88\/#%DA%A9%D8%AF_GitHub_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D9%85%D9%86\" >\u06a9\u062f GitHub \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0646<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/%db%8c%d8%a7%d8%af%d8%af%d8%a7%d8%b4%d8%aa-%d9%87%d8%a7%db%8c-%d9%85%d9%86-%d8%af%d8%b1-%d9%85%d9%88%d8%b1%d8%af-%d8%a8%d9%87%db%8c%d9%86%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d8%a7%d9%86%d8%af%d8%b1%d9%88\/#%D9%85%D8%AB%D8%A7%D9%84\" >\u0645\u062b\u0627\u0644<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/%db%8c%d8%a7%d8%af%d8%af%d8%a7%d8%b4%d8%aa-%d9%87%d8%a7%db%8c-%d9%85%d9%86-%d8%af%d8%b1-%d9%85%d9%88%d8%b1%d8%af-%d8%a8%d9%87%db%8c%d9%86%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d8%a7%d9%86%d8%af%d8%b1%d9%88\/#%D9%86%D8%AA%DB%8C%D8%AC%D9%87_%DA%AF%DB%8C%D8%B1%DB%8C\" >\u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D9%86%D8%A7%D8%A8%D8%B9\"><\/span>\n<p>  \u0645\u0646\u0627\u0628\u0639<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><code>Mastering Regular expressions by Jeffrey Fried. Chapter 6<\/code><\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D9%85%D9%86_%D8%AF%D8%B1_%D9%81%D8%B1%D9%88%D8%B4%DA%AF%D8%A7%D9%87_Google_Play\"><\/span>\n<p>  \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0646 \u062f\u0631 \u0641\u0631\u0648\u0634\u06af\u0627\u0647 Google Play<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>\u0628\u0631\u0646\u0627\u0645\u0647<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"%DA%A9%D8%AF_GitHub_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D9%85%D9%86\"><\/span>\n<p>  \u06a9\u062f GitHub \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0646<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>GitHub <\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D8%AB%D8%A7%D9%84\"><\/span>\n<p>  \u0645\u062b\u0627\u0644<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>\u0645\u0646 \u06cc\u06a9 \u062d\u0644\u0642\u0647 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u0645 <code>warm up<\/code> JVM \u0648 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644\u0631 \u0634\u0631\u0648\u0639 \u0628\u0647 \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u062f (\u0627\u06cc\u0646 \u06cc\u06a9 JVM \u062f\u0646\u06cc\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc \u0631\u0627 \u062a\u0642\u0644\u06cc\u062f \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0628\u0627 \u0627\u0646\u062c\u0627\u0645 \u0627\u06cc\u0646 \u06a9\u0627\u0631 30\u066a \u0633\u0631\u06cc\u0639\u062a\u0631 \u062f\u0631\u06cc\u0627\u0641\u062a \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f). \u06cc\u06a9 \u062a\u0627\u06cc\u0645\u0631 \u0631\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f\u060c \u06a9\u062f \u0639\u0628\u0627\u0631\u062a \u0645\u0639\u0645\u0648\u0644\u06cc \u0645\u0646 \u0631\u0627 1000 \u0628\u0627\u0631 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f\u060c \u062a\u0627\u06cc\u0645\u0631 \u0631\u0627 \u067e\u0627\u06cc\u0627\u0646 \u062f\u0647\u06cc\u062f. \u0645\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0686\u0647\u0627\u0631 \u0628\u0627\u0631 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u06cc\u0645 \u0648 \u0645\u06cc\u0627\u0646\u06af\u06cc\u0646 \u0631\u0627 \u0645\u06cc \u06af\u06cc\u0631\u06cc\u0645. \u06a9\u0647 \u0634\u0628\u06cc\u0647 \u0627\u06cc\u0646 \u0627\u0633\u062a:\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight kotlin\"><code>    <span class=\"nd\">@Test<\/span>\n    <span class=\"k\">fun<\/span> <span class=\"nf\">testing_again_test2<\/span><span class=\"p\">(){<\/span>\n\n        <span class=\"kd\">val<\/span> <span class=\"py\">timesToDo<\/span> <span class=\"p\">=<\/span> <span class=\"mi\">1000L<\/span>\n        <span class=\"kd\">val<\/span> <span class=\"py\">channelName<\/span> <span class=\"p\">=<\/span> <span class=\"s\">\"cohhcarnage\"<\/span>\n\n\n        <span class=\"kd\">val<\/span> <span class=\"py\">longerParsingString<\/span> <span class=\"p\">=<\/span> <span class=\"s\">\"real world example of what you want to parse\"<\/span>\n\n<span class=\"c1\">\/\/ for loop to `warm up the JVM`<\/span>\n        <span class=\"k\">for<\/span> <span class=\"p\">(<\/span><span class=\"n\">i<\/span> <span class=\"k\">in<\/span> <span class=\"mi\">4<\/span> <span class=\"n\">downTo<\/span> <span class=\"mi\">1<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n            <span class=\"kd\">var<\/span> <span class=\"py\">count<\/span> <span class=\"p\">=<\/span> <span class=\"n\">timesToDo<\/span>\n            <span class=\"kd\">val<\/span> <span class=\"py\">startTime<\/span> <span class=\"p\">=<\/span> <span class=\"nc\">System<\/span><span class=\"p\">.<\/span><span class=\"nf\">currentTimeMillis<\/span><span class=\"p\">()<\/span>\n            <span class=\"k\">while<\/span> <span class=\"p\">(--<\/span><span class=\"n\">count<\/span> <span class=\"p\">&gt;<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n\n\n  <span class=\"n\">underTest<\/span><span class=\"p\">.<\/span><span class=\"nf\">privateMessageParsing<\/span><span class=\"p\">(<\/span><span class=\"n\">longerParsingString<\/span><span class=\"p\">,<\/span><span class=\"n\">channelName<\/span><span class=\"p\">)<\/span> \n<span class=\"c1\">\/\/privateMessageParsing() contains the matching actions we are bench marking. This is where you would substitute your own code.<\/span>\n            <span class=\"p\">}<\/span>\n            <span class=\"kd\">val<\/span> <span class=\"py\">seconds<\/span> <span class=\"p\">=<\/span> <span class=\"p\">(<\/span><span class=\"nc\">System<\/span><span class=\"p\">.<\/span><span class=\"nf\">currentTimeMillis<\/span><span class=\"p\">()<\/span> <span class=\"p\">-<\/span> <span class=\"n\">startTime<\/span><span class=\"p\">)<\/span> <span class=\"p\">\/<\/span> <span class=\"mf\">1000.0<\/span>\n            <span class=\"nf\">println<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Alternation takes $seconds seconds\"<\/span><span class=\"p\">)<\/span>\n        <span class=\"p\">}<\/span>\n\n    <span class=\"p\">}<\/span>\n\n<\/code><\/pre>\n<\/div>\n<ul>\n<li>\u067e\u0633\u062a \u0628\u0639\u062f\u06cc \u0648\u0628\u0644\u0627\u06af \u0645\u0646 \u0627\u06cc\u0646 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u062a\u0648\u0627\u0646\u0633\u062a\u0645 \u0639\u0628\u0627\u0631\u0627\u062a \u0645\u0646\u0638\u0645 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647\u0628\u0648\u062f \u0628\u062e\u0634\u0645 (\u0627\u06cc\u0646 \u0634\u0627\u0645\u0644 \u062e\u0648\u0627\u0646\u062f\u0646 \u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0627\u0633\u0646\u0627\u062f \u0641\u0646\u06cc \u0627\u0633\u062a)<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"%D9%86%D8%AA%DB%8C%D8%AC%D9%87_%DA%AF%DB%8C%D8%B1%DB%8C\"><\/span>\n<p>  \u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>\u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0648\u0642\u062a \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0648\u0628\u0644\u0627\u06af \u0645\u0646 \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0627\u062f\u06cc\u062f \u0645\u062a\u0634\u06a9\u0631\u0645. \u0627\u06af\u0631 \u0633\u0648\u0627\u0644 \u06cc\u0627 \u0627\u0628\u0647\u0627\u0645\u06cc \u062f\u0627\u0631\u06cc\u062f \u0644\u0637\u0641\u0627 \u062f\u0631 \u0632\u06cc\u0631 \u06a9\u0627\u0645\u0646\u062a \u0628\u06af\u0630\u0627\u0631\u06cc\u062f \u06cc\u0627 \u0628\u0627 \u0645\u0646 \u062a\u0645\u0627\u0633 \u0628\u06af\u06cc\u0631\u06cc\u062f <a href=\"https:\/\/twitter.com\/AndroidTristan\" rel=\"noopener noreferrer nofollow\" target=\"_blank\">\u062a\u0648\u06cc\u06cc\u062a\u0631<\/a>. <\/li>\n<\/ul>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u0646\u0627\u0628\u0639 Mastering Regular expressions by Jeffrey Fried. Chapter 6 \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0646 \u062f\u0631 \u0641\u0631\u0648\u0634\u06af\u0627\u0647 Google Play \u0628\u0631\u0646\u0627\u0645\u0647 \u06a9\u062f GitHub \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0646 GitHub \u0645\u062b\u0627\u0644 \u0645\u0646 \u06cc\u06a9 \u062d\u0644\u0642\u0647 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u0645 warm up JVM \u0648 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644\u0631 \u0634\u0631\u0648\u0639 \u0628\u0647 \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u062f (\u0627\u06cc\u0646 \u06cc\u06a9 JVM \u062f\u0646\u06cc\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc \u0631\u0627 \u062a\u0642\u0644\u06cc\u062f \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0628\u0627 \u0627\u0646\u062c\u0627\u0645 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-76077","post","type-post","status-publish","format-standard","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/76077","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=76077"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/76077\/revisions"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=76077"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=76077"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=76077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}