SingleScriptBenchmark.cs 793 B

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