{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,5,27]],"date-time":"2025-05-27T19:10:08Z","timestamp":1748373008162,"version":"3.41.0"},"publisher-location":"Cham","reference-count":24,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319174723"},{"type":"electronic","value":"9783319174730"}],"license":[{"start":{"date-parts":[[2015,1,1]],"date-time":"2015-01-01T00:00:00Z","timestamp":1420070400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2015,1,1]],"date-time":"2015-01-01T00:00:00Z","timestamp":1420070400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2015]]},"DOI":"10.1007\/978-3-319-17473-0_20","type":"book-chapter","created":{"date-parts":[[2015,4,30]],"date-time":"2015-04-30T09:59:39Z","timestamp":1430387979000},"page":"300-314","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Re-Engineering Compiler Transformations to\u00a0Outperform Database Query Optimizers"],"prefix":"10.1007","author":[{"given":"Kristian F. D.","family":"Rietveld","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Harry A. G.","family":"Wijshoff","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2015,5,1]]},"reference":[{"issue":"3","key":"20_CR1","doi-asserted-by":"publisher","first-page":"137","DOI":"10.1145\/360018.360025","volume":"19","author":"FE Allen","year":"1976","unstructured":"Allen, F.E., Cocke, J.: A program data flow analysis procedure. Commun. ACM 19(3), 137\u2013147 (1976)","journal-title":"Commun. ACM"},{"key":"20_CR2","unstructured":"Allen, J.R.: Dependence Analysis for Subscripted Variables and its Applications to Program Transformations. Ph.D. Dissertation, Rice University (1983)"},{"key":"20_CR3","doi-asserted-by":"publisher","first-page":"491","DOI":"10.1145\/29873.29875","volume":"9","author":"R Allen","year":"1987","unstructured":"Allen, R., Kennedy, K.: Automatic translation of fortran programs to vector form. ACM Trans. Program. Lang. Syst. 9, 491\u2013542 (1987)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"20_CR4","doi-asserted-by":"crossref","unstructured":"Andrade, H., Aryangat, S., Kur\u00e7, T.M., Saltz, J.H., Sussman, A.: Efficient execution of multi-query data analysis batches using compiler optimization strategies. In: LCPC, pp. 509\u2013524 (2003)","DOI":"10.1007\/978-3-540-24644-2_33"},{"key":"20_CR5","unstructured":"Byler, M., Wolfe, M., Davies, J.R.B., Huson, C., Leasure, B.: Multiple version loops. In: ICPP, pp. 312\u2013318 (1987)"},{"key":"20_CR6","unstructured":"Cloudera: Impala, August 2014. http:\/\/impala.io\/"},{"key":"20_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"362","DOI":"10.1007\/11596110_24","volume-title":"Languages and Compilers for Parallel Computing","author":"GG Fursin","year":"2005","unstructured":"Fursin, G.G., O\u2019Boyle, M., Knijnenburg, P.M.W.: Evaluating iterative compilation. In: Pugh, B., Tseng, C.-W. (eds.) LCPC 2002. LNCS, vol. 2481, pp. 362\u2013376. Springer, Heidelberg (2005)"},{"issue":"1","key":"20_CR8","doi-asserted-by":"publisher","first-page":"57","DOI":"10.1016\/0169-023X(94)90009-4","volume":"14","author":"MH Kang","year":"1994","unstructured":"Kang, M.H., Dietz, H.G., Bhargava, B.K.: Multiple-query optimization at algorithm-level. Data Knowl. Eng. 14(1), 57\u201375 (1994)","journal-title":"Data Knowl. Eng."},{"key":"20_CR9","unstructured":"Kennedy, K.: A survey of data flow analysis techniques, Muchnik, S.S., and Jones, N.D. (eds.), Program Flow Analysis: Theory and Applications, pp. 5\u201354. Prentice-Hall, Englewood Cliffs (1981)"},{"key":"20_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-57659-2_18","volume-title":"Languages and Compilers for Parallel Computing","author":"K Kennedy","year":"1994","unstructured":"Kennedy, K., McKinley, K.: Maximizing loop parallelism and improving data locality via loop fusion and distribution. In: Banerjee, U., Gelernter, D., Nicolau, Alexandru, Padua, David A. (eds.) LCPC 1993. LNCS, vol. 768. Springer, Heidelberg (1994)"},{"issue":"1","key":"20_CR11","doi-asserted-by":"publisher","first-page":"43","DOI":"10.1023\/A:1020989410030","volume":"24","author":"P Knijnenburg","year":"2003","unstructured":"Knijnenburg, P., Kisuki, T., O\u2019Boyle, M.: Combined selection of tile sizes and unroll factors using iterative compilation. J. Supercomput. 24(1), 43\u201367 (2003)","journal-title":"J. Supercomput."},{"key":"20_CR12","doi-asserted-by":"crossref","unstructured":"Krikellas, K., Viglas, S., Cintra, M.: Generating code for holistic query evaluation. In: ICDE, pp. 613\u2013624 (2010)","DOI":"10.1109\/ICDE.2010.5447892"},{"key":"20_CR13","doi-asserted-by":"crossref","unstructured":"Kuck, D.J., Kuhn, R.H., Padua, D.A., Leasure, B., Wolfe, M.: Dependence graphs and compiler optimizations. In: Proceedings of the 8th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1981, pp. 207\u2013218. ACM, New York (1981)","DOI":"10.1145\/567532.567555"},{"issue":"2","key":"20_CR14","doi-asserted-by":"publisher","first-page":"63","DOI":"10.1145\/106975.106981","volume":"19","author":"MD Lam","year":"1991","unstructured":"Lam, M.D., Rothberg, E.E., Wolf, M.E.: The cache performance and optimizations of blocked algorithms. SIGARCH Comput. Archit. News 19(2), 63\u201374 (1991)","journal-title":"SIGARCH Comput. Archit. News"},{"key":"20_CR15","doi-asserted-by":"crossref","unstructured":"Lieuwen, D.F.: Parallelizing loops in database programming languages. In: ICDE, pp. 86\u201393 (1998)","DOI":"10.1109\/ICDE.1998.655762"},{"key":"20_CR16","doi-asserted-by":"crossref","unstructured":"Lieuwen, D.F., DeWitt, D.J.: A transformation-based approach to optimizing loops in database programming languages. In: SIGMOD Conference, pp. 91\u2013100 (1992)","DOI":"10.1145\/141484.130301"},{"key":"20_CR17","unstructured":"MonetDB Project: MonetDB, February 2013. http:\/\/www.monetdb.org\/"},{"key":"20_CR18","doi-asserted-by":"publisher","first-page":"539","DOI":"10.14778\/2002938.2002940","volume":"4","author":"T Neumann","year":"2011","unstructured":"Neumann, T.: Efficiently compiling efficient query plans for modern hardware. Proc. VLDB Endow. 4, 539\u2013550 (2011)","journal-title":"Proc. VLDB Endow."},{"key":"20_CR19","unstructured":"PostgreSQL Project: PostgreSQL: The world\u2019s most advanced open source database, February 2013. http:\/\/www.postgresql.org\/"},{"key":"20_CR20","unstructured":"Rietveld, K.F.D., Wijshoff, H.A.G.: Forelem: A versatile optimization framework for tuple-based computations. In: CPC 2013: 17th Workshop on Compilers for Parallel Computing, July 2013"},{"key":"20_CR21","doi-asserted-by":"crossref","unstructured":"Temam, O., Granston, E., Jalby, W.: To copy or not to copy: A compile-time technique for assessing when data copying should be used to eliminate cache conflicts. In: Proceedings of the Supercomputing 1993, pp. 410\u2013419 (1993)","DOI":"10.1145\/169627.169762"},{"key":"20_CR22","unstructured":"Transaction Processing Performance Council: TPC-H, May 2009. http:\/\/tpc.org\/tpch\/default.asp"},{"key":"20_CR23","unstructured":"Yach, D.P., Graham, J.D., Scian, A.F.: Database system with methodology for accessing a database from portable devices. US Patent #6341288, Jan 2002"},{"key":"20_CR24","volume-title":"Supercompilers for Parallel and Vector Computers","author":"H Zima","year":"1991","unstructured":"Zima, H., Chapman, B.: Supercompilers for Parallel and Vector Computers. ACM, New York (1991)"}],"container-title":["Lecture Notes in Computer Science","Languages and Compilers for Parallel Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-17473-0_20","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,5,27]],"date-time":"2025-05-27T18:35:35Z","timestamp":1748370935000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-319-17473-0_20"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015]]},"ISBN":["9783319174723","9783319174730"],"references-count":24,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-17473-0_20","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2015]]},"assertion":[{"value":"1 May 2015","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}}]}}