{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,24]],"date-time":"2026-04-24T01:22:11Z","timestamp":1776993731029,"version":"3.51.4"},"publisher-location":"New York, NY, USA","reference-count":50,"publisher":"ACM","license":[{"start":{"date-parts":[[2024,5,7]],"date-time":"2024-05-07T00:00:00Z","timestamp":1715040000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/501100006374","name":"Oracle","doi-asserted-by":"publisher","award":["ERO 1332"],"award-info":[{"award-number":["ERO 1332"]}],"id":[{"id":"10.13039\/501100006374","id-type":"DOI","asserted-by":"publisher"}]},{"name":"Swiss National Science Foundation","award":["200020 188688"],"award-info":[{"award-number":["200020 188688"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2024,5,7]]},"DOI":"10.1145\/3629526.3645051","type":"proceedings-article","created":{"date-parts":[[2024,5,6]],"date-time":"2024-05-06T20:44:32Z","timestamp":1715028272000},"page":"14-24","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Vectorized Intrinsics Can Be Replaced with Pure Java Code without Impairing Steady-State Performance"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-4824-4621","authenticated-orcid":false,"given":"J\u00fanior","family":"L\u00f6ff","sequence":"first","affiliation":[{"name":"Faculty of Informatics, Universit\u00e0 della Svizzera italiana (USI), Lugano, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9023-0720","authenticated-orcid":false,"given":"Filippo","family":"Schiavio","sequence":"additional","affiliation":[{"name":"Faculty of Informatics, Universit\u00e0 della Svizzera italiana (USI), Lugano, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6467-0113","authenticated-orcid":false,"given":"Andrea","family":"Ros\u00e0","sequence":"additional","affiliation":[{"name":"Faculty of Informatics, Universit\u00e0 della Svizzera italiana (USI), Lugano, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7219-9077","authenticated-orcid":false,"given":"Matteo","family":"Basso","sequence":"additional","affiliation":[{"name":"Faculty of Informatics, Universit\u00e0 della Svizzera italiana (USI), Lugano, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2477-2182","authenticated-orcid":false,"given":"Walter","family":"Binder","sequence":"additional","affiliation":[{"name":"Faculty of Informatics, Universit\u00e0 della Svizzera italiana (USI), Lugano, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2024,5,7]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"2013. Intel Xeon Phi Coprocessor High Performance Programming. Morgan Kaufmann."},{"key":"e_1_3_2_1_2_1","unstructured":"2015. Software Analysis and Optimization. In Power and Performance Jim Kukunas (Ed.). Morgan Kaufmann."},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1147\/sj.442.0399"},{"key":"e_1_3_2_1_4_1","volume-title":"Epsilon: The JDK's Do-Nothing Garbage Collector. https:\/\/blogs.oracle.com\/javamagazine\/post\/epsilon-the-jdks-do-nothinggarbage- collector.","author":"Binstock Andrew","year":"2019","unstructured":"Andrew Binstock. 2019. Epsilon: The JDK's Do-Nothing Garbage Collector. https:\/\/blogs.oracle.com\/javamagazine\/post\/epsilon-the-jdks-do-nothinggarbage- collector."},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"crossref","unstructured":"Matteo Basso Andrea Ros\u00e0 Luca Omini and Walter Binder. 2023. Java Vector API: Benchmarking and Performance Analysis. In CC. 1--12.","DOI":"10.1145\/3578360.3580265"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.2385"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"crossref","unstructured":"Stephen M. Blackburn Robin Garner Chris Hoffmann Asjad M. Khang Kathryn S. McKinley Rotem Bentzur Amer Diwan Daniel Feinberg Daniel Frampton Samuel Z. Guyer Martin Hirzel Antony Hosking Maria Jump Han Lee J. Eliot B. Moss Aashish Phansalkar Darko Stefanovi Thomas VanDrunen Daniel von Dincklage and Ben Wiedermann. 2006. The DaCapo Benchmarks: Java Benchmarking Development and Analysis. In OOPSLA. 169--190.","DOI":"10.1145\/1167473.1167488"},{"key":"e_1_3_2_1_8_1","unstructured":"Brian Goetz. 2019. dont intrinsify Objects::hash. https:\/\/mail.openjdk.org\/ pipermail\/amber-dev\/2019-April\/004264.html."},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2011.15"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.14778\/3611479.3611485"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1029873.1029879"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1508293.1508305"},{"key":"e_1_3_2_1_13_1","unstructured":"GitHub. 2023. 8282664: Unroll by hand StringUTF16 and StringLatin1 polynomial hash . . . \u00b7 openjdk\/jdk21u@e37078f"},{"key":"e_1_3_2_1_14_1","unstructured":"GitHub. 2023. jdk21. https:\/\/github.com\/openjdk\/jdk21."},{"key":"e_1_3_2_1_15_1","unstructured":"GitHub. 2023. Package java.lang.instrument. https:\/\/docs.oracle.com\/ en\/java\/javase\/21\/docs\/api\/java.instrument\/java\/lang\/instrument\/packagesummary. html."},{"key":"e_1_3_2_1_16_1","unstructured":"GitHub. 2023. Source code of arrays_equals in c2_MacroAssembler_x86.cpp. https:\/\/github.com\/openjdk\/jdk21\/blob\/890adb6410dab4606a4f26a942aed02fb2f55387\/src\/hotspot\/cpu\/x86\/c2_ MacroAssembler_x86.cpp#L4086."},{"key":"e_1_3_2_1_17_1","unstructured":"GitHub. 2023. Source code of arrays_hashcode in c2_MacroAssembler_x86.cpp. https:\/\/github.com\/openjdk\/jdk21\/blob\/ 890adb6410dab4606a4f26a942aed02fb2f55387\/src\/hotspot\/cpu\/x86\/c2_ MacroAssembler_x86.cpp#L3285."},{"key":"e_1_3_2_1_18_1","unstructured":"GitHub. 2023. Source code of java.util.zip.ZipCoder. https:\/\/github.com\/openjdk\/ jdk21u\/blob\/89aea0dace4afd2b1bbc5d636322969afcf0072c\/src\/java.base\/share\/ classes\/java\/util\/zip\/ZipCoder.java#L294."},{"key":"e_1_3_2_1_19_1","unstructured":"GitHub. 2023. Source code of vmIntrinsics.hpp. https:\/\/github.com\/openjdk\/jdk\/ blob\/master\/src\/hotspot\/share\/classfile\/vmIntrinsics.hpp."},{"key":"e_1_3_2_1_20_1","volume-title":"Source code of vmIntrinsics.hpp, comment on bytecode instrinsics. https:\/\/github.com\/openjdk\/jdk\/blob\/master\/src\/hotspot\/share\/classfile\/ vmIntrinsics.hpp#L78","unstructured":"GitHub. 2023. Source code of vmIntrinsics.hpp, comment on bytecode instrinsics. https:\/\/github.com\/openjdk\/jdk\/blob\/master\/src\/hotspot\/share\/classfile\/ vmIntrinsics.hpp#L78."},{"key":"e_1_3_2_1_21_1","volume-title":"Source code of vmIntrinsics.hpp, comment on instrinsics. https:\/\/github.com\/openjdk\/jdk\/blob\/master\/src\/hotspot\/share\/classfile\/ vmIntrinsics.hpp#L72","unstructured":"GitHub. 2023. Source code of vmIntrinsics.hpp, comment on instrinsics. https:\/\/github.com\/openjdk\/jdk\/blob\/master\/src\/hotspot\/share\/classfile\/ vmIntrinsics.hpp#L72."},{"key":"e_1_3_2_1_22_1","volume-title":"Source code of vmIntrinsics.hpp, comment on library instrinsics. https:\/\/github.com\/openjdk\/jdk\/blob\/master\/src\/hotspot\/share\/classfile\/ vmIntrinsics.hpp#L74","unstructured":"GitHub. 2023. Source code of vmIntrinsics.hpp, comment on library instrinsics. https:\/\/github.com\/openjdk\/jdk\/blob\/master\/src\/hotspot\/share\/classfile\/ vmIntrinsics.hpp#L74."},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"crossref","unstructured":"Tobias Groth Sven Groppe Thilo Pionteck Franz Valdiek and Martin Koppehel. 2022. Accelerated Parallel Hybrid GPU\/CPU Hash Table Queries with String Keys. In Database and Expert Systems Applications. 191--203.","DOI":"10.1007\/978-3-031-12426-6_15"},{"key":"e_1_3_2_1_24_1","unstructured":"Intel. 2007. Intel SSE4 Programming Reference. https:\/\/www.intel.com\/content\/ dam\/develop\/external\/us\/en\/documents\/\\d9156103--138479.pdf."},{"key":"e_1_3_2_1_25_1","unstructured":"Intel. 2015. Intel Advanced Vector Extensions 512. https:\/\/www.intel.com\/ content\/www\/us\/en\/architecture-and-technology\/avx-512-overview.html."},{"key":"e_1_3_2_1_26_1","volume-title":"Standard Edition & Java Development Kit -- Version 21 API Specification","author":"Platform Java","year":"2023","unstructured":"Java Platform, Standard Edition & Java Development Kit -- Version 21 API Specification. 2023. Class Vector. https:\/\/docs.oracle.com\/en\/java\/javase\/21\/docs\/api\/ jdk.incubator.vector\/jdk\/incubator\/vector\/Vector.html."},{"key":"e_1_3_2_1_27_1","volume-title":"Vector-Processing for Mobile Devices: Benchmark and Analysis. In 2023 IEEE International Symposium on Workload Characterization. 15--27","author":"Khadem Alireza","year":"2023","unstructured":"Alireza Khadem, Daichi Fujiki, Nishil Talati, Scott Mahlke, and Reetuparna Das. 2023. Vector-Processing for Mobile Devices: Benchmark and Analysis. In 2023 IEEE International Symposium on Workload Characterization. 15--27."},{"key":"e_1_3_2_1_28_1","unstructured":"Donald E. Knuth. 1998. The Art of Computer Programming Volume 3: (2nd Ed.) Sorting and Searching. Addison Wesley Longman Publishing Co. Inc."},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/3030207.3030211"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"crossref","unstructured":"Chung Yu Liao and Cheng Hung Lin. 2017. A Novel Parallel Dual-character String Matching Algorithm on Graphical Processing Units. In ICA3PP. 197--210.","DOI":"10.1007\/978-3-319-65482-9_13"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2017.2674664"},{"key":"e_1_3_2_1_32_1","volume-title":"The Java Virtual Machine Specification -- Java SE 20 Edition --","author":"Lindholm Tim","unstructured":"Tim Lindholm, Frank Tellin, Gilad Bracha, Alex Buckley, and Daniel Smith. 2023. The Java Virtual Machine Specification -- Java SE 20 Edition -- Chapter 5. Loading, Linking, and Initializing. https:\/\/docs.oracle.com\/javase\/specs\/jvms\/se20\/html\/jvms-5.html#jvms-5.5."},{"key":"e_1_3_2_1_33_1","unstructured":"Alex Villaz\u00f3n Yudi Zheng Danilo Ansaloni Walter Binder and Zhengwei Qi. 2012. DiSL: A Domain-Specific Language for Bytecode Instrumentation. In AOSD. 239--250."},{"key":"e_1_3_2_1_34_1","unstructured":"Oracle. 2023. Java Reflection API. https:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/guides\/reflection\/index.html."},{"key":"e_1_3_2_1_35_1","unstructured":"Oracle Corporation. 2023. JEP 448: Vector API (Sixth Incubator). https:\/\/openjdk. org\/jeps\/448."},{"key":"e_1_3_2_1_36_1","volume-title":"D. and Duboscq, G. and Tma, P. and Studener, M. and Bulej, L. and Zheng, Y. and Villaz\u00f3n, A. and Simon, D. and W\u00fcrthinger, T. and Binder,W.","author":"Ros\u00e0 A.","year":"2019","unstructured":"Prokopec, A. and Ros\u00e0, A. and Leopoldseder, D. and Duboscq, G. and Tma, P. and Studener, M. and Bulej, L. and Zheng, Y. and Villaz\u00f3n, A. and Simon, D. and W\u00fcrthinger, T. and Binder,W. 2019. Renaissance: Benchmarking Suite for Parallel Applications on the JVM. In PLDI. 31--47."},{"key":"e_1_3_2_1_37_1","unstructured":"Renaissance Suite. 2019. Renaissance Suite - Documentation. https:\/\/renaissance. dev\/docs."},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/1868294.1868314"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"crossref","unstructured":"Andrea Ros\u00e0 Eduardo Rosales and Walter Binder. 2017. Accurate Reification of Complete Supertype Information for Dynamic Analysis on the JVM. In GPCE. 104--116.","DOI":"10.1145\/3136040.3136061"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/3338497"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jvlc.2018.10.007"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/2048066.2048118"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/3168810"},{"key":"e_1_3_2_1_44_1","volume-title":"Proceedings of the 28th International Conference on Machine Learning (ICML-11)","author":"Sujeeth Arvind","year":"2011","unstructured":"Arvind Sujeeth, HyoukJoong Lee, Kevin Brown, Tiark Rompf, Hassan Chafi, Michael Wu, Anand Atreya, Martin Odersky, and Kunle Olukotun. 2011. OptiML: an implicitly parallel domain-specific language for machine learning. In Proceedings of the 28th International Conference on Machine Learning (ICML-11). 609--616."},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/2584665"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"crossref","unstructured":"Tran Ngoc Thinh Surin Kittitornkun and Shigenori Tomiyama. 2007. Applying Cuckoo Hashing for FPGA-based Pattern Matching in NIDS\/NIPS. In FPT. 121-- 128.","DOI":"10.1109\/FPT.2007.4439240"},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"crossref","unstructured":"Kuo-Kun Tseng Ying-Dar Lin Tsern-Huei Lee and Yuan-Cheng Lai. 2005. A Parallel Automaton String Matching with Pre-hashing and Root-indexing Techniques for Content Filtering Coprocessor. In ASAP. 113--118.","DOI":"10.1109\/ASAP.2005.8"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2400682.2400689"},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.3390\/app10061915"},{"key":"e_1_3_2_1_50_1","unstructured":"Zolt\u00e1n Maj\u00f3. 2016. C1 arraycopy intrinsic type checks missing. https:\/\/mail.openjdk.org\/pipermail\/hotspot-compiler-dev\/2016-June\/023527.html."}],"event":{"name":"ICPE '24: 15th ACM\/SPEC International Conference on Performance Engineering","location":"London United Kingdom","acronym":"ICPE '24","sponsor":["SIGMETRICS ACM Special Interest Group on Measurement and Evaluation","SIGSOFT ACM Special Interest Group on Software Engineering"]},"container-title":["Proceedings of the 15th ACM\/SPEC International Conference on Performance Engineering"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3629526.3645051","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3629526.3645051","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,8,22]],"date-time":"2025-08-22T23:49:01Z","timestamp":1755906541000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3629526.3645051"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,5,7]]},"references-count":50,"alternative-id":["10.1145\/3629526.3645051","10.1145\/3629526"],"URL":"https:\/\/doi.org\/10.1145\/3629526.3645051","relation":{},"subject":[],"published":{"date-parts":[[2024,5,7]]},"assertion":[{"value":"2024-05-07","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}