diff --git a/distribution/lib/Standard/Table/0.0.0-dev/docs/api/Internal/In_Memory_Test_Helpers.md b/distribution/lib/Standard/Table/0.0.0-dev/docs/api/Internal/In_Memory_Test_Helpers.md new file mode 100644 index 000000000000..71e3283d11f4 --- /dev/null +++ b/distribution/lib/Standard/Table/0.0.0-dev/docs/api/Internal/In_Memory_Test_Helpers.md @@ -0,0 +1,3 @@ +## Enso Signatures 1.0 +## module Standard.Table.Internal.In_Memory_Test_Helpers +- get_java_column column:Standard.Table.In_Memory_Column.In_Memory_Column -> Standard.Table.Internal.In_Memory_Test_Helpers.Java_Column diff --git a/distribution/lib/Standard/Table/0.0.0-dev/src/Internal/In_Memory_Test_Helpers.enso b/distribution/lib/Standard/Table/0.0.0-dev/src/Internal/In_Memory_Test_Helpers.enso new file mode 100644 index 000000000000..ecf4e3622818 --- /dev/null +++ b/distribution/lib/Standard/Table/0.0.0-dev/src/Internal/In_Memory_Test_Helpers.enso @@ -0,0 +1,9 @@ +import project.In_Memory_Column.In_Memory_Column + +polyglot java import org.enso.table.data.table.Column as Java_Column + +## --- + private: true + --- +get_java_column (column : In_Memory_Column) -> Java_Column = + column.java_column diff --git a/test/Benchmarks/src/Table/Internal/Multi_Value_Key.enso b/test/Benchmarks/src/Table/Internal/Multi_Value_Key.enso index 7cd514c8dcd5..134de045f5f5 100644 --- a/test/Benchmarks/src/Table/Internal/Multi_Value_Key.enso +++ b/test/Benchmarks/src/Table/Internal/Multi_Value_Key.enso @@ -3,6 +3,8 @@ from Standard.Base import all from Standard.Table import Table, Value_Type import Standard.Table.Internal.Multi_Value_Key.Ordered_Multi_Value_Key import Standard.Table.Internal.Multi_Value_Key.Unordered_Multi_Value_Key +from Standard.Table.Internal.In_Memory_Test_Helpers import get_java_column + from Standard.Test import Bench polyglot java import org.enso.table.data.index.OrderedMultiValueKey @@ -77,15 +79,21 @@ collect_benches = Bench.build builder-> compare_keys key1 key2 = Comparable.< self=key1 that=key2 compare_ordered_keys make_key table compare_keys + run_java table = + java_columns = table.columns.map column-> get_java_column column + directions = Vector.fill java_columns.length 1 + make_key row_ix = OrderedMultiValueKey.new java_columns row_ix directions + compare_keys key1 key2 = key1.compareTo key2 < 0 + compare_ordered_keys make_key table compare_keys + group_builder.specify "Primitive_Enso" <| run_enso (data.table.select_columns ["X", "Y"]) group_builder.specify "Custom_Object_Enso" <| run_enso (data.table.select_columns ["X", "Z"]) - # FIXME: https://github.com/enso-org/enso/issues/13899 - #group_builder.specify "Primitive_Java" <| - # run_java (data.table.select_columns ["X", "Y"]) - #group_builder.specify "Custom_Object_Java" <| - # run_java (data.table.select_columns ["X", "Z"]) + group_builder.specify "Primitive_Java" <| + run_java (data.table.select_columns ["X", "Y"]) + group_builder.specify "Custom_Object_Java" <| + run_java (data.table.select_columns ["X", "Z"]) builder.group ("Unordered_Multi_Value_Key" + num_rows.to_text) options group_builder-> run_enso table = @@ -94,14 +102,21 @@ collect_benches = Bench.build builder-> get_hash key = key.hash_code compute_hashcodes make_key table get_hash + run_java table = + java_columns = table.columns.map column-> get_java_column column + text_folding_strategies = Vector.fill java_columns.length TextFoldingStrategy.unicodeNormalizedFold + make_key row_ix = UnorderedMultiValueKey.new java_columns row_ix text_folding_strategies + get_hash key = key.hashCode + compute_hashcodes make_key table get_hash + group_builder.specify "Primitive_Enso" <| run_enso (data.table.select_columns ["X", "Y"]) group_builder.specify "Custom_Object_Enso" <| run_enso (data.table.select_columns ["X", "Z"]) - # FIXME: https://github.com/enso-org/enso/issues/13899 - #group_builder.specify "Primitive_Java" <| - # run_java (data.table.select_columns ["X", "Y"]) - #group_builder.specify "Custom_Object_Java" <| - # run_java (data.table.select_columns ["X", "Z"]) + group_builder.specify "Primitive_Java" <| + run_java (data.table.select_columns ["X", "Y"]) + group_builder.specify "Custom_Object_Java" <| + run_java (data.table.select_columns ["X", "Z"]) + +main = collect_benches . run_main ".*Custom_Object_Java" -main = collect_benches . run_main