GraalVM рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирдЪреЗ 19.3.0 рд░рд┐рд▓реАрдЬ рдХрд░рд╛ рдЖрдгрд┐ рддреНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд Python, JavaScript, Ruby рдЖрдгрд┐ R рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА

рдУрд░реЕрдХрд▓ рдХрдВрдкрдиреА рдкреНрд░рдХрд╛рд╢рд┐рдд рдпреБрдирд┐рд╡реНрд╣рд░реНрд╕рд▓ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирдЪреЗ рдкреНрд░рдХрд╛рд╢рди GraalVM 19.3.0, рдЬреЗ JavaScript (Node.js), Python, Ruby, R, JVM рд╕рд╛рдареА рдХреЛрдгрддреНрдпрд╛рд╣реА рднрд╛рд╖рд╛ (Java, Scala, Clojure, Kotlin) рдЖрдгрд┐ рдЬреНрдпрд╛ рднрд╛рд╖рд╛рдВрд╕рд╛рдареА LLVM рдмрд┐рдЯрдХреЛрдб рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд (C, C++) рдордзреНрдпреЗ рдЪрд╛рд▓реВ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ , рдЧрдВрдЬ). 19.3 рд╢рд╛рдЦрд╛ рд▓рд╛рдБрдЧ рдЯрд░реНрдо рд╕рдкреЛрд░реНрдЯ (LTS) рд░рд┐рд▓реАрдЭ рдореНрд╣рдгреВрди рд╡рд░реНрдЧреАрдХреГрдд рдЖрд╣реЗ рдЖрдгрд┐ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╕рдорд░реНрдерди рдЬреЗрдбреАрдХреЗ 11, рдПрдХреНрдЭрд┐рдХреНрдпреВрдЯреЗрдмрд▓ рдлрд╛рдЗрд▓реНрд╕рдордзреНрдпреЗ Java рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд╖рдорддреЗрд╕рд╣ (GraalVM рдиреЗрдЯрд┐рд╡реНрд╣ рдЗрдореЗрдЬ). рдкреНрд░рдХрд▓реНрдк рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд GPLv2 рдЕрдВрддрд░реНрдЧрдд рдкрд░рд╡рд╛рдирд╛рдХреГрдд. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, GraalVM рд╡рд╛рдкрд░реВрди Python, JavaScript, Ruby рдЖрдгрд┐ R рднрд╛рд╖рд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рдирд╡реАрди рдЖрд╡реГрддреНрддреНрдпрд╛ рд░рд┐рд▓реАрдЭ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реНрдпрд╛ - GraalPython, GraalJS, рдЯреНрд░рдлрд▓рд░реБрдмреА ╨╕ рдлрд╛рд╕реНрдЯрдЖрд░.

GraalVM рдкреБрд░рд╡рддреЗ рдПрдХ JIT рдХрдВрдкрд╛рдЗрд▓рд░ рдЬреЛ JavaScript, Ruby, Python рдЖрдгрд┐ R рд╕рд╣ JVM рдордзреАрд▓ рдлреНрд▓рд╛рдпрд╡рд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖реЗрддреВрди рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░реВ рд╢рдХрддреЛ рдЖрдгрд┐ LLVM рдмрд┐рдЯрдХреЛрдбрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд JVM рдордзреНрдпреЗ рдореВрд│ рдХреЛрдб рдЪрд╛рд▓рд╡рдгреЗ рджреЗрдЦреАрд▓ рд╢рдХреНрдп рдХрд░рддреЛ. GraalVM рджреНрд╡рд╛рд░реЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдзрдирд╛рдВрдордзреНрдпреЗ рднрд╛рд╖рд╛-рд╕реНрд╡рддрдВрддреНрд░ рдбреАрдмрдЧрд░, рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдкреНрд░рдгрд╛рд▓реА рдЖрдгрд┐ рдореЗрдорд░реА рд╡рд╛рдЯрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ. GraalVM рд╡рд┐рд╡рд┐рдз рднрд╛рд╖рд╛рдВрдордзреАрд▓ рдШрдЯрдХрд╛рдВрд╕рд╣ рдПрдХрддреНрд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддрдпрд╛рд░ рдХрд░рдгреЗ рд╢рдХреНрдп рдХрд░рддреЗ, рдЬреНрдпрд╛рдореБрд│реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЗрддрд░ рднрд╛рд╖рд╛рдВрдордзреАрд▓ рдХреЛрдбрдордзреВрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдЖрдгрд┐ ре▓рд░реЗрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рдпреЗрддреЛ. JVM-рдЖрдзрд╛рд░рд┐рдд рднрд╛рд╖рд╛рдВрд╕рд╛рдареА рдЖрд╣реЗ рд╕рдВрдзреА рдорд╢реАрди рдХреЛрдбрдордзреНрдпреЗ рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдПрдХреНрдЭрд┐рдХреНрдпреВрдЯреЗрдмрд▓ рдлрд╛рдЗрд▓реНрд╕ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЬреНрдпрд╛ рдХрдореАрдд рдХрдореА рдореЗрдорд░реА рд╡рд╛рдкрд░рд╛рд╕рд╣ рдереЗрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд (рдореЗрдорд░реА рдЖрдгрд┐ рдереНрд░реЗрдб рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрдиреЗрдХреНрдЯ рдХрд░реВрди рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рд╕рдмреНрд╕рдЯреНрд░реЗрдЯ VM).

GraalJS рдордзреНрдпреЗ рдмрджрд▓:

  • Node.js 12.10.0 рд╕рд╣ рд╕реБрд╕рдВрдЧрддрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реА рдЖрд╣реЗ;
  • рдЧреИрд░-рдорд╛рдирдХ рдЬрд╛рдЧрддрд┐рдХ рдЧреБрдгрдзрд░реНрдо рдЖрдгрд┐ рдХрд╛рд░реНрдпреЗ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдЕрдХреНрд╖рдо рдХреЗрд▓реА рдЬрд╛рддрд╛рдд:
    рд╡реИрд╢реНрд╡рд┐рдХ (globalThis рдиреЗ рдмрджрд▓рд▓реЗ, js.global-рдкреНрд░реЙрдкрд░реНрдЯреА рдкрд░рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реЗрдЯ рдХрд░рд╛), рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди (js.performance), рдкреНрд░рд┐рдВрдЯ рдЖрдгрд┐ printErr (js.print);
  • ECMAScript 2020 рдореЛрдб (тАЬ-js.ecmascript-version=2020тАЭ) рдордзреНрдпреЗ рдЙрдкрд▓рдмреНрдз рдЕрд╕рд▓реЗрд▓реЗ Promise.allSettled рдЖрдгрд┐ nullish coalescing рдкреНрд░рд╕реНрддрд╛рд╡ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ;
  • рдЕрджреНрдпрдпрд╛рд╡рдд рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ ICU4J рддреЗ 64.2, ASM рддреЗ 7.1.

рдмрджрд▓ GraalPython рдордзреНрдпреЗ:

  • рдЬреЛрдбрд▓реЗ stubs gc.{enable,disable,isenabled}, рд▓рд╛рдЧреВ charmap_build, sys.hexversion рдЖрдгрд┐ _lzma;
  • рдЕрджреНрдпрдпрд╛рд╡рдд рдкрд╛рдпрдерди 3.7.8 рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реА;
  • NumPy 1.16.4 рдЖрдгрд┐ Pandas 0.25.0 рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ;
  • рдЯрд╛рдЗрдордЗрдЯ рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ;
  • socket.socket рдЕрд╢рд╛ рд╕реНрдерд┐рддреАрдд рдЖрдгрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ тАЬgraalpython -m http.serverтАЭ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕ рдЖрдгрд┐ рдЕрдирдПрдирдХреНрд░рд┐рдкреНрдЯреЗрдб (TLS рд╢рд┐рд╡рд╛рдп) http рд╕рдВрд╕рд╛рдзрдиреЗ рд▓реЛрдб рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ;
  • pandas.DataFrame рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛рдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдорд╕реНрдпрд╛.
    bytes.startswith рдордзреАрд▓ tuples рдЪреА рдЪреБрдХреАрдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛,
    рдЗрдЯрд░реЗрдЯрд░реНрд╕рдЪреЗ рдбрд┐рд╕реНрдЯреНрд░рдХреНрдЪрд░рд┐рдВрдЧ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдЖрдгрд┐ рдбрд┐рдХреНрд╢рдирд░реАрд╕рд╛рдареА dict.__contains__ рдЪрд╛ рд╡рд╛рдкрд░;
  • ast.PyCF_ONLY_AST рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ, рдЬреЗ рдкрд░рд╡рд╛рдирдЧреА pytest рдХрд╛рд░реНрдп рдХрд░рддреЗ рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рд╛;
  • рдЬреЛрдбрд▓реЗ рд╕рдорд░реНрдерди PEP 498 (рд▓рд┐рдЯрд░рд▓реНрд╕рдордзреНрдпреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди);
  • рд░рд╛рдмрд╡рд┐рдгреНрдпрд╛рдд рдЖрд▓реЗ "--python.EmulateJython" рдзреНрд╡рдЬ рд╕рд╛рдорд╛рдиреНрдп Python рдЖрдпрд╛рдд рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рд╡рд╛рдкрд░реВрди JVM рд╡рд░реНрдЧ рдЖрдпрд╛рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ Python рдХреЛрдбрдордзреВрди JVM рдЕрдкрд╡рд╛рдж рдкрдХрдбрдгреНрдпрд╛рд╕рд╛рдареА;
  • рд╕реБрдзрд╛рд░рд┐рдд рдкрд╛рд░реНрд╕рд░ рдХрд╛рдордЧрд┐рд░реА, рдЕрдкрд╡рд╛рдж рдХреЕрд╢рд┐рдВрдЧ,
    JVM рдХреЛрдбрд╡рд░реВрди рдкрд╛рдпрдерди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреЗ. рдкрд╛рдпрдерди рдХреЛрдб рдЖрдгрд┐ рдиреЗрдЯрд┐рд╡реНрд╣ рдПрдХреНрд╕реНрдЯреЗрдВрд╢рдиреНрд╕рд╕рд╛рдареА рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдЪрд╛рдЪрдгреНрдпрд╛рдВрдордзреАрд▓ рд╕реБрдзрд╛рд░рд┐рдд рдкрд░рд┐рдгрд╛рдо (llvm рдЪреНрдпрд╛ рд╡рд░ рдиреЗрдЯрд┐рд╡реНрд╣ рдПрдХреНрд╕реНрдЯреЗрдВрд╢рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреЗ рд╣реЗ рд╕реВрдЪрд┐рдд рдХрд░рддреЗ рдХреА рдмрд┐рдЯрдХреЛрдб llvm рдЬреЗрдЖрдпрдЯреА рд╕рдВрдХрд▓рдирд╛рд╕рд╛рдареА GraalVM рд▓рд╛ рдкрд╛рд╕ рдХреЗрд▓реЗ рдЬрд╛рддреЗ).

рдмрджрд▓ TruffleRuby рдордзреНрдпреЗ:

  • рдореВрд│ рд╡рд┐рд╕реНрддрд╛рд░ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЕрдВрдЧрднреВрдд LLVM рдЯреВрд▓рдХрд┐рдЯ рдЖрддрд╛ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ, рдЬреЗ рдореВрд│ рдХреЛрдб рдЖрдгрд┐ рдмрд┐рдЯрдХреЛрдб рджреЛрдиреНрд╣реА рддрдпрд╛рд░ рдХрд░рддреЗ. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА рдЕрдзрд┐рдХ рдореВрд│ рд╡рд┐рд╕реНрддрд╛рд░ рдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗрдд, рдмрд╣реБрддреЗрдХ рд▓рд┐рдВрдХрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рдХрд░рддрд╛рдд;
  • TruffleRuby рдордзреНрдпреЗ рдореВрд│ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡реЗрдЧрд│реЗ LLVM рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди;
  • TruffleRuby рд╡рд░ C++ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдпрд╛рдкреБрдвреЗ libc++ рдЖрдгрд┐ libc++ abi рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА;
  • рдЕрд▓реАрдХрдбреАрд▓ JRuby рдкреНрд░рдорд╛рдгреЗрдЪ, EPL 2.0/GPL 2.0/LGPL 2.1 рд╡рд░ рдкрд░рд╡рд╛рдирд╛ рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓рд╛;
  • GC.stat рд╡рд░ рдкрд░реНрдпрд╛рдпреА рд╡рд┐рддрд░реНрдХрд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ;
  • рд░реЕрдкрд░рд╕рд╣ рдХрд░реНрдирд▓#рд▓реЛрдб рдкрджреНрдзрдд рд▓рд╛рдЧреВ рдХреЗрд▓реА рдЖрдгрд┐ :chdir рд╕рд╣ рдХрд░реНрдирд▓#рд╕реНрдкреЙрди;
  • rb_str_drop_bytes рдЬреЛрдбрд▓реЗ, рдЬреЗ рдЙрддреНрддрдо рдЖрд╣реЗ рдХрд╛рд░рдг OpenSSL рддреЗ рд╡рд╛рдкрд░рддреЗ;
  • рд░реЗрд▓ 6 рдордзреНрдпреЗ рдирд╡реАрди рд░реЗрд▓рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдкреВрд░реНрд╡-рд╕реНрдерд╛рдкрд┐рдд рд░рддреНрдирд╛рдВрдЪреЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ;
  • рдореВрд│ рд╡рд┐рд╕реНрддрд╛рд░ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдПрдордЖрд░рдЖрдп рдкреНрд░рдорд╛рдгреЗ рдзреНрд╡рдЬ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддрд╛рдд;
  • рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдореЗрдорд░реА рд╡рд╛рдкрд░ рдХрдореА рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ.

рдмрджрд▓ рдлрд╛рд╕реНрдЯрдЖрд░ рдордзреНрдпреЗ:

  • R 3.6.1 рд╕рд╣ рд╕реБрд╕рдВрдЧрддрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ;
  • LLVM рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдореВрд│ рд╡рд┐рд╕реНрддрд╛рд░ рдЪрд╛рд▓рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рд╛рдердорд┐рдХ рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ. рдореВрд│ R рдкреЕрдХреЗрдЬреЗрд╕ рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛, FastR рд╣реЗ GraalVM рдЪреНрдпрд╛ рдЕрдВрдЧрднреВрдд LLVM рдЯреВрд▓рд┐рдВрдЧ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдкрд░рд┐рдгрд╛рдореА рдмрд╛рдпрдирд░реА рдлрд╛рдЗрд▓реНрд╕рдордзреНрдпреЗ рдореВрд│ рдХреЛрдб рдЖрдгрд┐ LLVM рдмрд┐рдЯрдХреЛрдб рджреЛрдиреНрд╣реА рдЕрд╕рддреАрд▓.

    рдкреВрд░реНрд╡-рд╕реНрдерд╛рдкрд┐рдд рдкреЕрдХреЗрдЬреЗрд╕ рджреЗрдЦреАрд▓ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.
    FastR рдореВрд│ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЛрдб рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рд▓реЛрдб рдХрд░рддреЛ рдЖрдгрд┐ рдЪрд╛рд▓рд╡рддреЛ, рдкрд░рдВрддреБ "--R.BackEnd=llvm" рдкрд░реНрдпрд╛рдпрд╛рд╕рд╣ рд▓реЙрдиреНрдЪ рдХреЗрд▓реНрдпрд╛рд╡рд░, рдмрд┐рдЯрдХреЛрдб рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдИрд▓. "--R.BackEndLLVM=pkg1,pkg2" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВрди LLVM рдмреЕрдХрдПрдВрдб рдХрд╛рд╣реА R рдкреЕрдХреЗрдЬреЗрд╕рд╕рд╛рдареА рдирд┐рд╡рдбрдХрдкрдгреЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдкреЕрдХреЗрдЬреЗрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛рдирд╛ рд╕рдорд╕реНрдпрд╛ рдпреЗрдд рдЕрд╕рддреАрд▓, рддрд░ рддреБрдореНрд╣реА fastr.setToolchain("рдиреЗрдЯрд┐рд╡реНрд╣") рд╡рд░ рдХреЙрд▓ рдХрд░реВрди рдХрд┐рдВрд╡рд╛ $FASTR_HOME/etc/Makeconf рдлрд╛рдЗрд▓ рд╡реНрдпрдХреНрддрд┐рдЪрд▓рд┐рддрдкрдгреЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реВрди рд╕рд░реНрд╡рдХрд╛рд╣реА рдкрд░рдд рдХрд░реВ рд╢рдХрддрд╛;

  • рдпрд╛ рдкреНрд░рдХрд╛рд╢рдирд╛рдд, рдлрд╛рд╕реНрдЯрдЖрд░ рдЬреАрд╕реАрд╕реА рд░рдирдЯрд╛рдЗрдо рд▓рд╛рдпрдмреНрд░рд░реАрд╢рд┐рд╡рд╛рдп рдкрд╛рдард╡рддреЗ;
  • рдирд┐рд╢реНрдЪрд┐рдд рдореЗрдорд░реА рд▓реАрдХ;
  • рдореЛрдареНрдпрд╛ рд╡реНрд╣реЗрдХреНрдЯрд░ (>1GB) рд╕рд╣ рдХрд╛рдо рдХрд░рддрд╛рдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдорд╕реНрдпрд╛;
  • grepRaw рд▓рд╛рдЧреВ рдХреЗрд▓реЗ, рдкрд░рдВрддреБ рдлрдХреНрдд fixed=T рд╕рд╛рдареА.

рд╕реНрддреНрд░реЛрдд: opennet.ru

DDoS рд╕рдВрд░рдХреНрд╖рдг, VPS VDS рд╕рд░реНрд╡реНрд╣рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдЗрдЯрд╕рд╛рдареА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЦрд░реЗрджреА рдХрд░рд╛ ЁЯФе рдбреАрдбреЙрд╕ рд╕рдВрд░рдХреНрд╖рдгрд╛рд╕рд╣ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ, рд╡реНрд╣реАрдкреАрдПрд╕ (VPS) рд╡реНрд╣реАрдбреАрдПрд╕ (VDS) рд╕рд░реНрд╡реНрд╣рд░реНрд╕ рдЦрд░реЗрджреА рдХрд░рд╛ | ProHoster