{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,9]],"date-time":"2026-03-09T05:00:54Z","timestamp":1773032454247,"version":"3.50.1"},"reference-count":23,"publisher":"Wiley","issue":"12","license":[{"start":{"date-parts":[[2025,9,16]],"date-time":"2025-09-16T00:00:00Z","timestamp":1757980800000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"},{"start":{"date-parts":[[2025,9,16]],"date-time":"2025-09-16T00:00:00Z","timestamp":1757980800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/doi.wiley.com\/10.1002\/tdm_license_1.1"}],"content-domain":{"domain":["onlinelibrary.wiley.com"],"crossmark-restriction":true},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[2025,12]]},"abstract":"<jats:title>ABSTRACT<\/jats:title>\n                  <jats:sec>\n                    <jats:title>Background<\/jats:title>\n                    <jats:p>The original serial implementation of the segmentation algorithm exhibits suboptimal performance, motivating a systematic optimization effort without compromising accuracy.<\/jats:p>\n                  <\/jats:sec>\n                  <jats:sec>\n                    <jats:title>Objective<\/jats:title>\n                    <jats:p>To analyze the unoptimized serial code and apply iterative code and compiler optimizations while preserving segmentation accuracy.<\/jats:p>\n                  <\/jats:sec>\n                  <jats:sec>\n                    <jats:title>Methods<\/jats:title>\n                    <jats:p>A multi\u2010stage optimization process was employed: Initial algorithm profiling to identify bottlenecks. Iterative application of static code transformations. Integration of compiler\u2010level optimizations at each stage.<\/jats:p>\n                  <\/jats:sec>\n                  <jats:sec>\n                    <jats:title>Results<\/jats:title>\n                    <jats:p>Performance testing demonstrates substantial speedups: 6x to 8x improvement over the original implementation, depending on optimization stage. Parallelization in the final step further enhances throughput without sacrificing correctness.<\/jats:p>\n                  <\/jats:sec>\n                  <jats:sec>\n                    <jats:title>Conclusion<\/jats:title>\n                    <jats:p>Systematic, profile\u2010guided optimization by combining code refactoring and compiler tuning yields significant performance gains. The approach maintains accuracy while enabling efficient parallelization, offering a scalable template for optimizing similar compute\u2010intensive algorithms.<\/jats:p>\n                  <\/jats:sec>","DOI":"10.1002\/spe.70021","type":"journal-article","created":{"date-parts":[[2025,9,16]],"date-time":"2025-09-16T08:00:16Z","timestamp":1758009616000},"page":"2012-2023","update-policy":"https:\/\/doi.org\/10.1002\/crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Source Code Analysis for Performance Enhancement of the Mean Shift Algorithm"],"prefix":"10.1002","volume":"55","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2356-2914","authenticated-orcid":false,"given":"Damir","family":"Demirovi\u0107","sequence":"first","affiliation":[{"name":"Department for Computer Science and Informatics, Faculty of Electrical Engineering University of Tuzla  Tuzla Bosnia and Herzegovina"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Senada","family":"Avdi\u0107","sequence":"additional","affiliation":[{"name":"Department of Physics, Faculty of Science and Mathematics University of Tuzla  Tuzla Bosnia and Herzegovina"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2025,9,16]]},"reference":[{"key":"e_1_2_8_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/34.1000236"},{"key":"e_1_2_8_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/CVPR46437.2021.00409"},{"key":"e_1_2_8_4_1","doi-asserted-by":"publisher","DOI":"10.1080\/17538947.2018.1432709"},{"key":"e_1_2_8_5_1","volume-title":"Mean Shift Segmentation \u2010 Evaluation of Optimization Techniques","author":"Kaftan J.","year":"2008"},{"key":"e_1_2_8_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICCV.2003.1238383"},{"key":"e_1_2_8_7_1","unstructured":"M. A.Carreira\u2010Perpinan \u201cA Review of Mean\u2010Shift Algorithms for Clustering \u201d(2015)."},{"key":"e_1_2_8_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPR.2002.1047421"},{"key":"e_1_2_8_9_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11042-021-11699-x"},{"key":"e_1_2_8_10_1","volume-title":"Proceedings of the 2014 IEEE Global Conference on Signal and Information Processing (GlobalSIP)","author":"Bhowmik D.","year":"2015"},{"key":"e_1_2_8_11_1","doi-asserted-by":"publisher","DOI":"10.1016\/B978-0-12-804189-5.00002-8"},{"key":"e_1_2_8_12_1","doi-asserted-by":"publisher","DOI":"10.1111\/j.1467-8659.2010.01793.x"},{"key":"e_1_2_8_13_1","unstructured":"Y.Lebras \u201cCode Optimization Based on Source to Source Transformations Using Profile Guided Metrics \u201d(PhD thesis. Universite dOrleans 2019)."},{"key":"e_1_2_8_14_1","unstructured":"Intel Corporation \u201cIntel Architecture Code Analyzer\u201d https:\/\/www.intel.com\/content\/www\/us\/en\/developer\/articles\/tool\/architecture-code-analyzer.html."},{"key":"e_1_2_8_15_1","unstructured":"LLVM Project \u201cLLVM\u2010mca Documentation\u201d https:\/\/llvm.org\/docs\/CommandGuide\/llvm-mca.html."},{"key":"e_1_2_8_16_1","unstructured":"Intel Corporation \u201cIntel VTune Profiler\u201d https:\/\/www.intel.com\/content\/www\/us\/en\/developer\/tools\/oneapi\/vtune-profiler.html."},{"key":"e_1_2_8_17_1","unstructured":"Valgrind Developers \u201cValgrind Callgrind Manual\u201d https:\/\/valgrind.org\/docs\/manual\/cl-manual.html."},{"key":"e_1_2_8_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.1998.727179"},{"key":"e_1_2_8_19_1","unstructured":"University of California Los Angeles \u201cPoCC (Polyhedral Compiler Collection)\u201d https:\/\/web.cs.ucla.edu\/\u223cpouchet\/software\/pocc\/."},{"key":"e_1_2_8_20_1","unstructured":"PLuTo Developers \u201cPLuTo (Polyhedral Loop Transformations)\u201d https:\/\/pluto-compiler.sourceforge.net\/."},{"key":"e_1_2_8_21_1","unstructured":"C.Bastoul \u201cCLoog (Chunky Loop Generator)\u201d http:\/\/www.bastoul.net\/cloog\/."},{"key":"e_1_2_8_22_1","doi-asserted-by":"publisher","DOI":"10.5201\/ipol.2019.255"},{"key":"e_1_2_8_23_1","unstructured":"D.Demirovi \u201cMeanshift Algorithm Implementation\u201d https:\/\/github.com\/DamirDemirovic\/Meanshift."},{"key":"e_1_2_8_24_1","unstructured":"GNU Project \u201cgprof Manual\u201d https:\/\/ftp.gnu.org\/old-gnu\/Manuals\/gprof-2.9.1\/html_mono\/gprof.html."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.70021","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/full-xml\/10.1002\/spe.70021","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.70021","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,3,9]],"date-time":"2026-03-09T04:09:10Z","timestamp":1773029350000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.70021"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,9,16]]},"references-count":23,"journal-issue":{"issue":"12","published-print":{"date-parts":[[2025,12]]}},"alternative-id":["10.1002\/spe.70021"],"URL":"https:\/\/doi.org\/10.1002\/spe.70021","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,9,16]]},"assertion":[{"value":"2025-04-14","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-08-31","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-09-16","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}