{"id":"https://openalex.org/W2043313946","doi":"https://doi.org/10.1145/1449764.1449796","title":"Analyzing the performance of code-copying virtual machines","display_name":"Analyzing the performance of code-copying virtual machines","publication_year":2008,"publication_date":"2008-10-19","ids":{"openalex":"https://openalex.org/W2043313946","doi":"https://doi.org/10.1145/1449764.1449796","mag":"2043313946"},"language":"en","primary_location":{"id":"doi:10.1145/1449764.1449796","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1449764.1449796","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5030998249","display_name":"Gregory B. Prokopski","orcid":null},"institutions":[{"id":"https://openalex.org/I5023651","display_name":"McGill University","ror":"https://ror.org/01pxwe438","country_code":"CA","type":"education","lineage":["https://openalex.org/I5023651"]}],"countries":["CA"],"is_corresponding":true,"raw_author_name":"Gregory B. Prokopski","raw_affiliation_strings":["McGill University, Sable Research Group, Montreal, PQ, Canada"],"affiliations":[{"raw_affiliation_string":"McGill University, Sable Research Group, Montreal, PQ, Canada","institution_ids":["https://openalex.org/I5023651"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5001343030","display_name":"Clark Verbrugge","orcid":"https://orcid.org/0000-0003-0663-7347"},"institutions":[{"id":"https://openalex.org/I5023651","display_name":"McGill University","ror":"https://ror.org/01pxwe438","country_code":"CA","type":"education","lineage":["https://openalex.org/I5023651"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Clark Verbrugge","raw_affiliation_strings":["McGill University, Sable Research Group, Montreal, PQ, Canada"],"affiliations":[{"raw_affiliation_string":"McGill University, Sable Research Group, Montreal, PQ, Canada","institution_ids":["https://openalex.org/I5023651"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5030998249"],"corresponding_institution_ids":["https://openalex.org/I5023651"],"apc_list":null,"apc_paid":null,"fwci":1.18756312,"has_fulltext":false,"cited_by_count":10,"citation_normalized_percentile":{"value":0.86429473,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":95},"biblio":{"volume":null,"issue":null,"first_page":"403","last_page":"422"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.996999979019165,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10101","display_name":"Cloud Computing and Resource Management","score":0.9965999722480774,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/bytecode","display_name":"Bytecode","score":0.8776682615280151},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8718721270561218},{"id":"https://openalex.org/keywords/copying","display_name":"Copying","score":0.7681280374526978},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.615975022315979},{"id":"https://openalex.org/keywords/virtual-machine","display_name":"Virtual machine","score":0.5824952125549316},{"id":"https://openalex.org/keywords/just-in-time-compilation","display_name":"Just-in-time compilation","score":0.5620734691619873},{"id":"https://openalex.org/keywords/powerpc","display_name":"PowerPC","score":0.5536139011383057},{"id":"https://openalex.org/keywords/interpreter","display_name":"Interpreter","score":0.5459058880805969},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5095629692077637},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.5019445419311523},{"id":"https://openalex.org/keywords/pentium","display_name":"Pentium","score":0.45120465755462646},{"id":"https://openalex.org/keywords/garbage-collection","display_name":"Garbage collection","score":0.41364553570747375},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.2222692370414734}],"concepts":[{"id":"https://openalex.org/C2779818221","wikidata":"https://www.wikidata.org/wiki/Q837330","display_name":"Bytecode","level":3,"score":0.8776682615280151},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8718721270561218},{"id":"https://openalex.org/C2779151265","wikidata":"https://www.wikidata.org/wiki/Q1156791","display_name":"Copying","level":2,"score":0.7681280374526978},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.615975022315979},{"id":"https://openalex.org/C25344961","wikidata":"https://www.wikidata.org/wiki/Q192726","display_name":"Virtual machine","level":2,"score":0.5824952125549316},{"id":"https://openalex.org/C76782552","wikidata":"https://www.wikidata.org/wiki/Q110546","display_name":"Just-in-time compilation","level":3,"score":0.5620734691619873},{"id":"https://openalex.org/C56005371","wikidata":"https://www.wikidata.org/wiki/Q209860","display_name":"PowerPC","level":3,"score":0.5536139011383057},{"id":"https://openalex.org/C122783720","wikidata":"https://www.wikidata.org/wiki/Q183065","display_name":"Interpreter","level":2,"score":0.5459058880805969},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5095629692077637},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.5019445419311523},{"id":"https://openalex.org/C46268123","wikidata":"https://www.wikidata.org/wiki/Q214314","display_name":"Pentium","level":2,"score":0.45120465755462646},{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.41364553570747375},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.2222692370414734},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.0},{"id":"https://openalex.org/C17744445","wikidata":"https://www.wikidata.org/wiki/Q36442","display_name":"Political science","level":0,"score":0.0},{"id":"https://openalex.org/C199539241","wikidata":"https://www.wikidata.org/wiki/Q7748","display_name":"Law","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1449764.1449796","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1449764.1449796","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":30,"referenced_works":["https://openalex.org/W128638405","https://openalex.org/W1493438644","https://openalex.org/W1519503583","https://openalex.org/W1526863280","https://openalex.org/W1594432186","https://openalex.org/W1596463817","https://openalex.org/W1654262235","https://openalex.org/W1984653087","https://openalex.org/W1989374005","https://openalex.org/W2000422467","https://openalex.org/W2002325351","https://openalex.org/W2013724146","https://openalex.org/W2028660699","https://openalex.org/W2034114053","https://openalex.org/W2039812465","https://openalex.org/W2095594146","https://openalex.org/W2097971372","https://openalex.org/W2101786162","https://openalex.org/W2105454321","https://openalex.org/W2134884849","https://openalex.org/W2139749211","https://openalex.org/W2153185479","https://openalex.org/W2161646044","https://openalex.org/W2166091242","https://openalex.org/W2166894669","https://openalex.org/W2561675875","https://openalex.org/W4231640297","https://openalex.org/W4285719527","https://openalex.org/W6629313152","https://openalex.org/W6635561410"],"related_works":["https://openalex.org/W2209862891","https://openalex.org/W2042203635","https://openalex.org/W2184274109","https://openalex.org/W1767235216","https://openalex.org/W98758690","https://openalex.org/W2027104021","https://openalex.org/W4213188177","https://openalex.org/W1980503095","https://openalex.org/W2090841116","https://openalex.org/W2357231105"],"abstract_inverted_index":{"Many":[0],"popular":[1],"programming":[2],"languages":[3,53],"use":[4],"interpreter-based":[5],"execution":[6,198],"for":[7,23,96,207],"portability,":[8],"supporting":[9],"dynamic":[10],"or":[11,78],"reflective":[12],"properties,":[13],"and":[14,32,46,68,72,87,102,116,137,160,179,197],"ease":[15],"of":[16,65,82,158,165,177,192,195,205,214],"implementation.":[17],"Code-copying":[18],"is":[19,216],"an":[20,212],"optimization":[21],"technique":[22],"interpreters":[24],"that":[25,76,189],"reduces":[26],"the":[27,58,80,91,169,175,203],"performance":[28,89,106],"gap":[29],"between":[30],"interpretation":[31],"JIT":[33],"compilation,":[34],"offering":[35],"significant":[36],"speedups":[37,120],"over":[38,153],"direct-threading":[39,93],"interpretation.":[40],"Due":[41],"to":[42,57,143,187],"varying":[43],"language":[44],"features":[45],"virtual":[47,73,94],"machine":[48,74],"design,":[49],"however,":[50],"not":[51],"all":[52],"benefit":[54],"from":[55],"codecopying":[56,178],"same":[59],"extent.":[60],"We":[61,84,184],"consider":[62],"here":[63],"properties":[64,199],"interpreted":[66],"languages,":[67,98],"in":[69,168],"particular":[70,209],"bytecode":[71,139],"construction":[75],"enhance":[77],"reduce":[79],"impact":[81],"code-copying.":[83,148],"implemented":[85],"code-copying":[86,206,215],"compared":[88],"with":[90],"original":[92],"machines":[95],"three":[97,108],"Java":[99],"(SableVM),":[100],"OCaml,":[101],"Ruby":[103],"(Yarv),":[104],"examining":[105],"on":[107,123,132],"different":[109],"architectures,":[110],"ia32":[111,124],"(Pentium":[112],"4),":[113],"x86_64":[114],"(AMD64)":[115],"PowerPC":[117],"(G5).":[118],"Best":[119],"are":[121,185],"achieved":[122],"by":[125,147],"OCaml":[126],"(maximum":[127],"4.88":[128],"times,":[129],"2.81":[130],"times":[131],"average),":[133],"where":[134],"a":[135,161,208],"small":[136,163],"simple":[138,190],"design":[140],"facilitates":[141],"improvements":[142],"branch":[144],"prediction":[145],"brought":[146],"Yarv":[149],"only":[150],"slightly":[151],"improves":[152],"direct-threading;":[154],"large":[155],"working":[156],"sizes":[157],"bytecodes,":[159],"relatively":[162],"fraction":[164],"time":[166,193],"spent":[167],"actual":[170],"interpreter":[171],"loop":[172],"both":[173],"limit":[174],"application":[176],"its":[180],"overall":[181],"net":[182],"effect.":[183],"able":[186],"show":[188],"ahead":[191],"analysis":[194],"VM":[196,210],"can":[200],"help":[201],"determine":[202],"suitability":[204],"before":[211],"implementation":[213],"even":[217],"attempted.":[218]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2013,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
