2
0

SingleScriptBenchmark.cs 777 B

12345678910111213141516171819202122232425262728293031323334
  1. using BenchmarkDotNet.Attributes;
  2. using Esprima.Ast;
  3. namespace Jint.Benchmark;
  4. [MemoryDiagnoser]
  5. public abstract class SingleScriptBenchmark
  6. {
  7. private string _script;
  8. private Script _parsedScript;
  9. protected abstract string FileName { get; }
  10. [GlobalSetup]
  11. public void Setup()
  12. {
  13. _script = File.ReadAllText($"Scripts/{FileName}");
  14. _parsedScript = Engine.PrepareScript(_script, strict: true);
  15. }
  16. [Benchmark]
  17. public void Execute()
  18. {
  19. var engine = new Engine(static options => options.Strict());
  20. engine.Execute(_script);
  21. }
  22. [Benchmark]
  23. public void Execute_ParsedScript()
  24. {
  25. var engine = new Engine(static options => options.Strict());
  26. engine.Execute(_parsedScript);
  27. }
  28. }