{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,7,2]],"date-time":"2025-07-02T12:47:58Z","timestamp":1751460478117,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":42,"publisher":"ACM","license":[{"start":{"date-parts":[[2023,2,17]],"date-time":"2023-02-17T00:00:00Z","timestamp":1676592000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2023,2,17]]},"DOI":"10.1145\/3578360.3580264","type":"proceedings-article","created":{"date-parts":[[2023,2,17]],"date-time":"2023-02-17T20:20:06Z","timestamp":1676665206000},"page":"180-190","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":10,"title":["Building a Compiled Query Engine in Python"],"prefix":"10.1145","author":[{"given":"Hesam","family":"Shahrokhi","sequence":"first","affiliation":[{"name":"University of Edinburgh, Edinburgh, UK"}]},{"given":"Amir","family":"Shaikhha","sequence":"additional","affiliation":[{"name":"University of Edinburgh, Edinburgh, UK"}]}],"member":"320","published-online":{"date-parts":[[2023,2,17]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"2018. ska::flat_hash_map.  https:\/\/github.com\/skarupke\/flat_hash_map \t\t\t\t  2018. ska::flat_hash_map.  https:\/\/github.com\/skarupke\/flat_hash_map"},{"key":"e_1_3_2_1_2_1","unstructured":"2022. folly::AtomicUnorderedMap.  https:\/\/github.com\/facebook\/folly \t\t\t\t  2022. folly::AtomicUnorderedMap.  https:\/\/github.com\/facebook\/folly"},{"key":"e_1_3_2_1_3_1","unstructured":"2022. Intel\u00ae oneAPI: Threading Building Blocks (TBB).  https:\/\/github.com\/oneapi-src\/oneTBB \t\t\t\t  2022. Intel\u00ae oneAPI: Threading Building Blocks (TBB).  https:\/\/github.com\/oneapi-src\/oneTBB"},{"key":"e_1_3_2_1_4_1","unstructured":"2022. The Parallel Hashmap.  https:\/\/github.com\/greg7mdp\/parallel-hashmap \t\t\t\t  2022. The Parallel Hashmap.  https:\/\/github.com\/greg7mdp\/parallel-hashmap"},{"key":"e_1_3_2_1_5_1","unstructured":"2022. robin_hood::flat_hash_map.  https:\/\/github.com\/martinus\/robin-hood-hashing \t\t\t\t  2022. robin_hood::flat_hash_map.  https:\/\/github.com\/martinus\/robin-hood-hashing"},{"key":"e_1_3_2_1_6_1","unstructured":"2022. SQLite.  https:\/\/www.sqlite.org \t\t\t\t  2022. SQLite.  https:\/\/www.sqlite.org"},{"key":"e_1_3_2_1_7_1","unstructured":"2022. tsl::hopscotch_map.  https:\/\/github.com\/Tessil\/hopscotch-map \t\t\t\t  2022. tsl::hopscotch_map.  https:\/\/github.com\/Tessil\/hopscotch-map"},{"key":"e_1_3_2_1_8_1","unstructured":"2022. tsl::robin_map.  https:\/\/github.com\/Tessil\/robin-map \t\t\t\t  2022. tsl::robin_map.  https:\/\/github.com\/Tessil\/robin-map"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.14778\/3476249.3476296"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"crossref","unstructured":"Maximilian Bandle Jana Giceva and Thomas Neumann. 2021. To partition or not to partition that is the join question in a real system. SIGMOD\u201921. 168\u2013180. \t\t\t\t  Maximilian Bandle Jana Giceva and Thomas Neumann. 2021. To partition or not to partition that is the join question in a real system. SIGMOD\u201921. 168\u2013180.","DOI":"10.1145\/3448016.3452831"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.14778\/2735496.2735499"},{"key":"e_1_3_2_1_12_1","volume-title":"DAPHNE: An Open and Extensible System Infrastructure for Integrated Data Analysis Pipelines. In Conference on Innovative Data Systems Research.","author":"Damme Patrick","year":"2022","unstructured":"Patrick Damme . 2022 . DAPHNE: An Open and Extensible System Infrastructure for Integrated Data Analysis Pipelines. In Conference on Innovative Data Systems Research. Patrick Damme. 2022. DAPHNE: An Open and Extensible System Infrastructure for Integrated Data Analysis Pipelines. In Conference on Innovative Data Systems Research."},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/3140587.3062355"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.14778\/3476249.3476288"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"crossref","unstructured":"Tim Fischer Denis Hirn and Torsten Grust. 2022. Snakes on a Plan: Compiling Python Functions into Plain SQL Queries. SIGMOD\u201922. 2389\u20132392. \t\t\t\t  Tim Fischer Denis Hirn and Torsten Grust. 2022. Snakes on a Plan: Compiling Python Functions into Plain SQL Queries. SIGMOD\u201922. 2389\u20132392.","DOI":"10.1145\/3514221.3520175"},{"key":"e_1_3_2_1_16_1","volume-title":"Matthew James Johnson, and Chris Leary","author":"Frostig Roy","year":"2018","unstructured":"Roy Frostig , Matthew James Johnson, and Chris Leary . 2018 . Compiling machine learning programs via high-level tracing. Systems for Machine Learning , 4, 9 (2018). Roy Frostig, Matthew James Johnson, and Chris Leary. 2018. Compiling machine learning programs via high-level tracing. Systems for Machine Learning, 4, 9 (2018)."},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.14778\/3447689.3447709"},{"key":"e_1_3_2_1_18_1","unstructured":"Stefan Hagedorn Steffen Kl\u00e4be and Kai-Uwe Sattler. 2021. Putting Pandas in a Box.. In CIDR. \t\t\t\t  Stefan Hagedorn Steffen Kl\u00e4be and Kai-Uwe Sattler. 2021. Putting Pandas in a Box.. In CIDR."},{"key":"e_1_3_2_1_19_1","first-page":"40","article-title":"Monetdb: Two decades of research in column-oriented database","volume":"35","author":"Idreos S","year":"2012","unstructured":"S Idreos , F Groffen , N Nes , S Manegold , S Mullender , and M Kersten . 2012 . Monetdb: Two decades of research in column-oriented database . IEEE Data Engineering Bulletin , 35 , 1 (2012), 40 \u2013 45 . S Idreos, F Groffen, N Nes, S Manegold, S Mullender, and M Kersten. 2012. Monetdb: Two decades of research in column-oriented database. IEEE Data Engineering Bulletin, 35, 1 (2012), 40\u201345.","journal-title":"IEEE Data Engineering Bulletin"},{"key":"e_1_3_2_1_20_1","volume-title":"Magpie: Python at speed and scale using cloud backends. In CIDR.","author":"Jindal Alekh","year":"2021","unstructured":"Alekh Jindal . 2021 . Magpie: Python at speed and scale using cloud backends. In CIDR. Alekh Jindal. 2021. Magpie: Python at speed and scale using cloud backends. In CIDR."},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.14778\/3551793.3551801"},{"key":"e_1_3_2_1_22_1","volume-title":"Seventh Biennial Conference on Innovative Data Systems Research, CIDR","author":"Karpathiotakis Manos","year":"2015","unstructured":"Manos Karpathiotakis , Ioannis Alagiannis , Thomas Heinis , Miguel Branco , and Anastasia Ailamaki . 2015. Just-In-Time Data Virtualization: Lightweight Data Management with ViDa . In Seventh Biennial Conference on Innovative Data Systems Research, CIDR 2015 , Asilomar, CA , USA, January 4-7, 2015, Online Proceedings . www.cidrdb.org. http:\/\/cidrdb.org\/cidr2015\/Papers\/CIDR15_Paper8.pdf Manos Karpathiotakis, Ioannis Alagiannis, Thomas Heinis, Miguel Branco, and Anastasia Ailamaki. 2015. Just-In-Time Data Virtualization: Lightweight Data Management with ViDa. In Seventh Biennial Conference on Innovative Data Systems Research, CIDR 2015, Asilomar, CA, USA, January 4-7, 2015, Online Proceedings. www.cidrdb.org. http:\/\/cidrdb.org\/cidr2015\/Papers\/CIDR15_Paper8.pdf"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.14778\/3275366.3275370"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"crossref","unstructured":"Konstantinos Krikellas Stratis Viglas and Marcelo Cintra. 2010. Generating code for holistic query evaluation. In ICDE. 613\u2013624. \t\t\t\t  Konstantinos Krikellas Stratis Viglas and Marcelo Cintra. 2010. Generating code for holistic query evaluation. In ICDE. 613\u2013624.","DOI":"10.1109\/ICDE.2010.5447892"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2833157.2833162"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"crossref","unstructured":"Viktor Leis Peter Boncz Alfons Kemper and Thomas Neumann. 2014. Morsel-driven parallelism: A NUMA-aware query evaluation framework for the many-core age. SIGMOD\u201914. 743\u2013754. \t\t\t\t  Viktor Leis Peter Boncz Alfons Kemper and Thomas Neumann. 2014. Morsel-driven parallelism: A NUMA-aware query evaluation framework for the many-core age. SIGMOD\u201914. 743\u2013754.","DOI":"10.1145\/2588555.2610507"},{"key":"e_1_3_2_1_27_1","unstructured":"Xiaozhou Li David G Andersen Michael Kaminsky and Michael J Freedman. 2014. Algorithmic improvements for fast concurrent cuckoo hashing. EuroSys\u201914. 1\u201314. \t\t\t\t  Xiaozhou Li David G Andersen Michael Kaminsky and Michael J Freedman. 2014. Algorithmic improvements for fast concurrent cuckoo hashing. EuroSys\u201914. 1\u201314."},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/3309206"},{"key":"e_1_3_2_1_29_1","volume-title":"Permutable compiled queries: dynamically adapting compiled queries without recompiling. PVLDB, 14, 2","author":"Menon Prashanth","year":"2020","unstructured":"Prashanth Menon , Amadou Ngom , Lin Ma , Todd C Mowry , and Andrew Pavlo . 2020. Permutable compiled queries: dynamically adapting compiled queries without recompiling. PVLDB, 14, 2 ( 2020 ). Prashanth Menon, Amadou Ngom, Lin Ma, Todd C Mowry, and Andrew Pavlo. 2020. Permutable compiled queries: dynamically adapting compiled queries without recompiling. PVLDB, 14, 2 (2020)."},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.14778\/2002938.2002940"},{"key":"e_1_3_2_1_31_1","volume-title":"Weld: A common runtime for high performance data analytics.","author":"Palkar Shoumik","year":"2017","unstructured":"Shoumik Palkar , James J Thomas , Anil Shanbhag , Deepak Narayanan , Holger Pirk , Malte Schwarzkopf , Saman Amarasinghe , and Matei Zaharia . 2017 . Weld: A common runtime for high performance data analytics. Shoumik Palkar, James J Thomas, Anil Shanbhag, Deepak Narayanan, Holger Pirk, Malte Schwarzkopf, Saman Amarasinghe, and Matei Zaharia. 2017. Weld: A common runtime for high performance data analytics."},{"key":"e_1_3_2_1_32_1","volume-title":"Proceedings of the 2019 International Conference on Management of Data. 1981\u20131984","author":"Raasveldt Mark","year":"2019","unstructured":"Mark Raasveldt and Hannes M\u00fchleisen . 2019 . DuckDB: an embeddable analytical database . In Proceedings of the 2019 International Conference on Management of Data. 1981\u20131984 . Mark Raasveldt and Hannes M\u00fchleisen. 2019. DuckDB: an embeddable analytical database. In Proceedings of the 2019 International Conference on Management of Data. 1981\u20131984."},{"key":"e_1_3_2_1_33_1","volume-title":"Glow: Graph lowering compiler techniques for neural networks. arXiv preprint arXiv:1805.00907.","author":"Rotem Nadav","year":"2018","unstructured":"Nadav Rotem . 2018 . Glow: Graph lowering compiler techniques for neural networks. arXiv preprint arXiv:1805.00907. Nadav Rotem. 2018. Glow: Graph lowering compiler techniques for neural networks. arXiv preprint arXiv:1805.00907."},{"key":"e_1_3_2_1_34_1","unstructured":"Maximilian Schleich Amir Shaikhha and Dan Suciu. 2022. Optimizing Tensor Programs on Flexible Storage. arXiv preprint arXiv:2210.06267. \t\t\t\t  Maximilian Schleich Amir Shaikhha and Dan Suciu. 2022. Optimizing Tensor Programs on Flexible Storage. arXiv preprint arXiv:2210.06267."},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796818000102"},{"key":"e_1_3_2_1_36_1","volume-title":"Proc. of the ACM on Prog. Lang., 6, OOPSLA1","author":"Shaikhha Amir","year":"2022","unstructured":"Amir Shaikhha , Mathieu Huot , Jaclyn Smith , and Dan Olteanu . 2022 . Functional collection programming with semi-ring dictionaries . Proc. of the ACM on Prog. Lang., 6, OOPSLA1 (2022), 1\u201333. Amir Shaikhha, Mathieu Huot, Jaclyn Smith, and Dan Olteanu. 2022. Functional collection programming with semi-ring dictionaries. Proc. of the ACM on Prog. Lang., 6, OOPSLA1 (2022), 1\u201333."},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/3183653"},{"key":"e_1_3_2_1_38_1","volume-title":"How to Architect a Query Compiler. SIGMOD\u201916","author":"Shaikhha Amir","year":"1907","unstructured":"Amir Shaikhha , Yannis Klonatos , Lionel Parreaux , Lewis Brown , Mohammad Dashti , and Christoph Koch . 2016. How to Architect a Query Compiler. SIGMOD\u201916 . ACM , New York, NY, USA . 1907 \u20131922. isbn:978-1-4503-3531-7 Amir Shaikhha, Yannis Klonatos, Lionel Parreaux, Lewis Brown, Mohammad Dashti, and Christoph Koch. 2016. How to Architect a Query Compiler. SIGMOD\u201916. ACM, New York, NY, USA. 1907\u20131922. isbn:978-1-4503-3531-7"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"crossref","unstructured":"Amir Shaikhha Maximilian Schleich Alexandru Ghita and Dan Olteanu. 2020. Multi-Layer Optimizations for End-to-End Data Analytics. In CGO. 145\u2013157. \t\t\t\t  Amir Shaikhha Maximilian Schleich Alexandru Ghita and Dan Olteanu. 2020. Multi-Layer Optimizations for End-to-End Data Analytics. In CGO. 145\u2013157.","DOI":"10.1145\/3368826.3377923"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.14778\/3476311.3476356"},{"key":"e_1_3_2_1_41_1","volume-title":"Tuplex: Data science in Python at native code speed. SIGMOD\u201921. 1718\u20131731.","author":"Spiegelberg Leonhard","year":"2021","unstructured":"Leonhard Spiegelberg , Rahul Yesantharao , Malte Schwarzkopf , and Tim Kraska . 2021 . Tuplex: Data science in Python at native code speed. SIGMOD\u201921. 1718\u20131731. Leonhard Spiegelberg, Rahul Yesantharao, Malte Schwarzkopf, and Tim Kraska. 2021. Tuplex: Data science in Python at native code speed. SIGMOD\u201921. 1718\u20131731."},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"crossref","unstructured":"Ruby Y Tahboub Gr\u00e9gory M Essertel and Tiark Rompf. 2018. How to architect a query compiler revisited. In SIGMOD\u201918. 307\u2013322. \t\t\t\t  Ruby Y Tahboub Gr\u00e9gory M Essertel and Tiark Rompf. 2018. How to architect a query compiler revisited. In SIGMOD\u201918. 307\u2013322.","DOI":"10.1145\/3183713.3196893"}],"event":{"name":"CC '23: 32nd ACM SIGPLAN International Conference on Compiler Construction","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"],"location":"Montr\u00e9al QC Canada","acronym":"CC '23"},"container-title":["Proceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3578360.3580264","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3578360.3580264","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:46:52Z","timestamp":1750178812000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3578360.3580264"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,2,17]]},"references-count":42,"alternative-id":["10.1145\/3578360.3580264","10.1145\/3578360"],"URL":"https:\/\/doi.org\/10.1145\/3578360.3580264","relation":{},"subject":[],"published":{"date-parts":[[2023,2,17]]},"assertion":[{"value":"2023-02-17","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}