Item request has been placed! ×
Item request cannot be made. ×
loading  Processing Request

JIT code compilation during runtime based on runtime statistics

Item request has been placed! ×
Item request cannot be made. ×
loading   Processing Request
  • Publication Date:
    April 01, 2025
  • معلومة اضافية
    • Patent Number:
      12265,537
    • Appl. No:
      18/354990
    • Application Filed:
      July 19, 2023
    • نبذة مختصرة :
      Systems, methods, and articles of manufacture, including computer program products, provide a system including at least one data processor and at least one memory storing instructions which, when executed by the at least one data processor, cause operations comprising: generating, by a database execution engine, a query plan including a plurality of operators; inserting, by the database execution engine, an enforce compilation operator into the query plan that includes the plurality of operators, the plurality of operators comprising a first operator, the enforce compilation operator, and a second operator; executing at least the first operator of the query plan; in response to executing the first operator, evaluating, by the database execution engine, an output of the first operator to determine whether a condition is satisfied; and in response to the condition being satisfied, triggering, by the database execution engine, a just-in-time compilation of the second operator.
    • Inventors:
      SAP SE (Walldorf, DE)
    • Assignees:
      SAP SE (Walldorf, DE)
    • Claim:
      1. A system, comprising: at least one data processor; and at least one memory storing instructions which, when executed by the at least one data processor, cause operations comprising: generating, by a database execution engine, a query plan including a plurality of operators; inserting, by the database execution engine, an enforce compilation operator into the query plan that includes the plurality of operators, the plurality of operators comprising a first operator, the enforce compilation operator, and a second operator; executing at least the first operator of the query plan; in response to executing the first operator, evaluating, by the database execution engine, an output of the first operator to determine whether a condition is satisfied; and in response to the condition being satisfied, triggering, by the database execution engine, a just-in-time compilation of the second operator.
    • Claim:
      2. The system of claim 1 , further comprising; in response to the condition not being satisfied, inhibiting the triggering of the second operator, such that the second operator is not forced into the just-in-time compilation.
    • Claim:
      3. The system of claim 1 , further comprising: receiving, at the database execution engine, a query.
    • Claim:
      4. The system of claim 3 , wherein in response to receiving the query, the query plan is generated.
    • Claim:
      5. The system of claim 1 , wherein the enforce compilation operator forces the just-in-time compilation of the second operator into machine code.
    • Claim:
      6. The system of claim 1 , wherein the first operator comprises a first executable operator and the second operator comprises a second executable operator.
    • Claim:
      7. The system of claim 1 , wherein the database execution engine inserts the enforce compilation operator into the query plan to optimize execution of the query plan.
    • Claim:
      8. The system of claim 1 , wherein the condition is satisfied in response to a threshold value being exceeded.
    • Claim:
      9. The system of claim 8 , wherein in response to the threshold value being exceeded, the database execution engine triggers the just-in-time compilation of the second operator.
    • Claim:
      10. The system of claim 8 , wherein in response to the threshold value not being exceeded, the database execution engine inhibits the triggering of the second operator, such that the second operator is not forced into the just-in-time compilation but rather uses interpretive code for the second operator.
    • Claim:
      11. The system of claim 1 , wherein the evaluating, by the database execution engine, the output of the first operator to determine whether the condition is satisfied is in response to a first execution of the query plan and the first operator.
    • Claim:
      12. The system of claim 1 , wherein the inserting the enforce compilation operator further comprises forking the output of the first operator to the enforce compilation operator and the second operator.
    • Claim:
      13. A method comprising: generating, by a database execution engine, a query plan including a plurality of operators; inserting, by the database execution engine, an enforce compilation operator into the query plan that includes the plurality of operators, the plurality of operators comprising a first operator, the enforce compilation operator, and a second operator; executing at least the first operator of the query plan; in response to executing the first operator, evaluating, by the database execution engine, an output of the first operator to determine whether a condition is satisfied; and in response to the condition being satisfied, triggering, by the database execution engine, a just-in-time compilation of the second operator.
    • Claim:
      14. The method of claim 13 , further comprising; in response to the condition not being satisfied, inhibiting the triggering of the second operator, such that the second operator is not forced into the just-in-time compilation.
    • Claim:
      15. The method of claim 13 , further comprising: receiving, at the database execution engine, a query.
    • Claim:
      16. The method of claim 15 , wherein in response to receiving the query, the query plan is generated.
    • Claim:
      17. The method of claim 13 , wherein the enforce compilation operator forces the just-in-time compilation of the second operator into machine code.
    • Claim:
      18. The method of claim 13 , wherein the first operator comprises a first executable operator and the second operator comprises a second executable operator.
    • Claim:
      19. The method of claim 13 , wherein the database execution engine inserts the enforce compilation operator into the query plan to optimize execution of the query plan.
    • Claim:
      20. A non-transitory computer-readable storage medium storing instructions which, when executed by at least one data processor, cause operations comprising: generating, by a database execution engine, a query plan including a plurality of operators; inserting, by the database execution engine, an enforce compilation operator into the query plan that includes the plurality of operators, the plurality of operators comprising a first operator, the enforce compilation operator, and a second operator; executing at least the first operator of the query plan; in response to executing the first operator, evaluating, by the database execution engine, an output of the first operator to determine whether a condition is satisfied; and in response to the condition being satisfied, triggering, by the database execution engine, a just-in-time compilation of the second operator.
    • Patent References Cited:
      2014/0082597 March 2014 Chafi
      2015/0212838 July 2015 Pirvu
      2018/0089268 March 2018 Lee
      2020/0311084 October 2020 Merker
      2021/0133193 May 2021 McConnell
      2023/0004563 January 2023 Zhang
      2023/0236907 July 2023 Gaburov
      2024/0330029 October 2024 Gadd
    • Other References:
      Ray Odaira et al., “Selective Optimization of Locks by Runtime Statistics and Just-in-time Compilation”, IEEE, pp. 1-6 (Year: 2003). cited by examiner
    • Primary Examiner:
      Bibbee, Jared M
    • Attorney, Agent or Firm:
      Mintz Levin Cohn Ferris Glovsky and Popeo, P.C.
    • الرقم المعرف:
      edspgr.12265537