Skip to content

Commit

Permalink
[browser] benchmark fix aggressive trimming (#81037)
Browse files Browse the repository at this point in the history
* fix trimming

* revert #81027

* Fix build

Co-authored-by: Radek Doulik <radekdoulik@gmail.com>
  • Loading branch information
pavelsavara and radekdoulik authored Jan 24, 2023
1 parent 4c992b1 commit 96d492a
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 6 deletions.
2 changes: 2 additions & 0 deletions src/mono/sample/wasm/browser-bench/Browser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ namespace Sample
{
public partial class Test
{
internal const string AssemblyName = "Wasm.Browser.Bench.Sample";

public static int Main(string[] args)
{
return 0;
Expand Down
1 change: 1 addition & 0 deletions src/mono/sample/wasm/browser-bench/Console/Console.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ namespace Sample
{
public partial class Test
{
internal const string AssemblyName = "Wasm.Console.Bench.Sample";
static string tasksArg;

static List<string> ProcessArguments(string[] args)
Expand Down
10 changes: 8 additions & 2 deletions src/mono/sample/wasm/browser-bench/JSInterop.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Diagnostics.CodeAnalysis;

namespace Sample
{
Expand All @@ -24,9 +25,9 @@ class JSInteropTask : BenchTask
public JSInteropTask()
{
measurements = new Measurement[] {
// new LegacyExportIntMeasurement(),
new LegacyExportIntMeasurement(),
new JSExportIntMeasurement(),
// new LegacyExportStringMeasurement(),
new LegacyExportStringMeasurement(),
new JSExportStringMeasurement(),
new JSImportIntMeasurement(),
new JSImportStringMeasurement(),
Expand All @@ -41,6 +42,8 @@ public class LegacyExportIntMeasurement : BenchTask.Measurement
{
public override int InitialSamples => 3;
public override string Name => "LegacyExportInt";
// because of the aggressive trimming of methods reachable via JS legacy bind_static_method
[DynamicDependency(DynamicallyAccessedMemberTypes.PublicMethods, "Sample.ImportsExportsHelper", Test.AssemblyName)]
public override void RunStep()
{
ImportsExportsHelper.RunLegacyExportInt(10000);
Expand All @@ -61,6 +64,9 @@ public class LegacyExportStringMeasurement : BenchTask.Measurement
{
public override int InitialSamples => 3;
public override string Name => "LegacyExportString";

// because of the aggressive trimming of methods reachable via JS legacy bind_static_method
[DynamicDependency(DynamicallyAccessedMemberTypes.PublicMethods, "Sample.ImportsExportsHelper", Test.AssemblyName)]
public override void RunStep()
{
ImportsExportsHelper.RunLegacyExportString(10000);
Expand Down
8 changes: 4 additions & 4 deletions src/mono/sample/wasm/browser-bench/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,10 @@ class MainApp {
setTasks = exports.Sample.Test.SetTasks;
getFullJsonResults = exports.Sample.Test.GetFullJsonResults;

// legacyExportTargetInt = BINDING.bind_static_method("[Wasm.Browser.Bench.Sample]Sample.ImportsExportsHelper:LegacyExportTargetInt");
// jsExportTargetInt = exports.Sample.ImportsExportsHelper.JSExportTargetInt;
// legacyExportTargetString = BINDING.bind_static_method("[Wasm.Browser.Bench.Sample]Sample.ImportsExportsHelper:LegacyExportTargetString");
// jsExportTargetString = exports.Sample.ImportsExportsHelper.JSExportTargetString;
legacyExportTargetInt = BINDING.bind_static_method("[Wasm.Browser.Bench.Sample]Sample.ImportsExportsHelper:LegacyExportTargetInt");
jsExportTargetInt = exports.Sample.ImportsExportsHelper.JSExportTargetInt;
legacyExportTargetString = BINDING.bind_static_method("[Wasm.Browser.Bench.Sample]Sample.ImportsExportsHelper:LegacyExportTargetString");
jsExportTargetString = exports.Sample.ImportsExportsHelper.JSExportTargetString;

setModuleImports("main.js", {
Sample: {
Expand Down

0 comments on commit 96d492a

Please sign in to comment.