Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
37 changes: 26 additions & 11 deletions test/Benchmarks/src/Table/Internal/Multi_Value_Key.enso
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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 =
Expand All @@ -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
Loading