You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@aurora.apache.org by "Bill Farner (JIRA)" <ji...@apache.org> on 2015/02/13 00:48:11 UTC
[jira] [Resolved] (AURORA-1118) Consider changing TaskStore
interfaces to return Iterables instead of Sets
[ https://issues.apache.org/jira/browse/AURORA-1118?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bill Farner resolved AURORA-1118.
---------------------------------
Resolution: Won't Fix
A quick analysis confirmed [~maximk]'s hunch that this would not yield much:
I ran a benchmark before and after doing a quick-and-dirty conversion to use List rather than Set throughout:
Set result:
{noformat}
Result: 59948988.447 ±(99.9%) 489527.887 ns/op [Average]
Statistics: (min, avg, max) = (57612694.800, 59948988.447, 65466900.294), stdev = 1443384.122
Confidence interval (99.9%): [59459460.560, 60438516.333]
# Run complete. Total time: 00:07:03
Benchmark Mode Samples Score Error Units
o.a.a.b.SchedulingBenchmarks.ConstraintMismatchsSchedulingBenchmark.runBenchmark avgt 100 5926822.585 ± 58390.192 ns/op
o.a.a.b.SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark avgt 100 5094918.444 ± 40591.958 ns/op
o.a.a.b.SchedulingBenchmarks.PreemptorFallbackForLargeClusterBenchmark.runBenchmark avgt 100 59948988.447 ± 489527.887 ns/op
{noformat}
List result:
{noformat}
Result: 57654212.383 ±(99.9%) 710674.694 ns/op [Average]
Statistics: (min, avg, max) = (55722676.350, 57654212.383, 73258144.875), stdev = 2095440.520
Confidence interval (99.9%): [56943537.689, 58364887.077]
# Run complete. Total time: 00:07:02
Benchmark Mode Samples Score Error Units
o.a.a.b.SchedulingBenchmarks.ConstraintMismatchsSchedulingBenchmark.runBenchmark avgt 100 6095883.706 ± 56989.227 ns/op
o.a.a.b.SchedulingBenchmarks.InsufficientResourcesSchedulingBenchmark.runBenchmark avgt 100 5160305.479 ± 49398.474 ns/op
o.a.a.b.SchedulingBenchmarks.PreemptorFallbackForLargeClusterBenchmark.runBenchmark avgt 100 57654212.383 ± 710674.694 ns/op
{noformat}
The improvement appears to be negligible.
> Consider changing TaskStore interfaces to return Iterables instead of Sets
> --------------------------------------------------------------------------
>
> Key: AURORA-1118
> URL: https://issues.apache.org/jira/browse/AURORA-1118
> Project: Aurora
> Issue Type: Story
> Components: Scheduler
> Reporter: Bill Farner
> Labels: newbie
>
> TaskStore.Mutable currently has two APIs that return Sets:
> {code}
> ImmutableSet<IScheduledTask> fetchTasks(Query.Builder query);
> ImmutableSet<IScheduledTask> mutateTasks(
> Query.Builder query,
> Function<IScheduledTask, IScheduledTask> mutator);
> {code}
> If the store provides an expectation of unique values, we should be able to save a decent amount of overhead by avoiding the Set computation.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)