Open
Description
I am trying to make use of Jint object to pass a custom variable from c# to javascript.
When calling the method "GetOrCreateJint" to get the instance it slows down by 300 - 400 ms on my laptop.
Also i tried to create 100 instances to use as pooling but its taking over 2GB of memory.
Are these two scenarios expected or there is a workaround?
static List<(IDocument Dom, Engine Js)> engineList = new List<(IDocument Dom, Engine Js)>();
public static void TestSpeed()
{
for (int i = 0; i < 100; i++)
{
Stopwatch sw = new Stopwatch();
sw.Start();
var config = Configuration.Default.WithJs();
var context = BrowsingContext.New(config);
var jsEngine = context.GetService<JsScriptingService>();
var doc = context.OpenAsync(req => req.Content("<html><head></head><body></body></html>")).Result;
// slow loading
var engine = jsEngine.GetOrCreateJint(doc);
engine.SetValue("myVar", "value");
// 100 instances == 2Gb Memory
engineList.Add((doc, engine));
sw.Stop();
Console.WriteLine(i + " - " + sw.ElapsedMilliseconds);
}
Console.ReadLine();
}
Metadata
Metadata
Assignees
Labels
No labels
Activity