发明名称 |
Avoiding or deferring data copies |
摘要 |
Methods and systems for avoiding or deferring data copies are disclosed. Using a virtual machine, it is determined whether a set of program code comprises references to a data object after an operation to generate a copy of the data object. If not, a set of optimized program code is generated in which the operation to copy the data object is replaced with an operation to update a reference. Using the virtual machine, it is determined whether the set of program code comprises an operation to generate a copy of a buffer object. If so, a set of further optimized program code is generated, comprising an allocation of one or more memory pages to store the buffer object with a copy-on-write parameter instead of the operation to generate the copy of the buffer object. |
申请公布号 |
US9110680(B1) |
申请公布日期 |
2015.08.18 |
申请号 |
US201313804047 |
申请日期 |
2013.03.14 |
申请人 |
Amazon Technologies, Inc. |
发明人 |
Boynes Jeremy |
分类号 |
G06F9/44;G06F9/45;G06F11/36;G06F17/30;G06F12/00 |
主分类号 |
G06F9/44 |
代理机构 |
Meyertons, Hood, Kivlin, Kowert & Goetzel, P.C. |
代理人 |
Kowert Robert C.;Meyertons, Hood, Kivlin, Kowert & Goetzel, P.C. |
主权项 |
1. A computer-implemented method, comprising:
using a virtual machine to perform:
determining whether a set of program code comprises one or more references to a data object after an operation to generate a copy of the data object, wherein the set of program code is executable using the virtual machine;
if the set of program code does not comprise one or more references to the data object after the operation to generate the copy of the data object, generating a set of optimized program code, comprising replacing the operation to generate the copy of the data object in the set of program code with an operation to update a reference in the set of optimized program code;determining whether the set of program code comprises an operation to generate a copy of a buffer object; andif the set of program code comprises the operation to generate the copy of the buffer object, generating a set of further optimized program code, wherein the set of further optimized program code comprises an allocation of one or more memory pages to store the buffer object with a copy-on-write parameter instead of the operation to generate the copy of the buffer object. |
地址 |
Reno NV US |