2
0

SingleScriptBenchmark.cs 758 B

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