You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@aurora.apache.org by "Mehrdad Nurolahzade (JIRA)" <ji...@apache.org> on 2017/02/16 21:41:41 UTC

[jira] [Updated] (AURORA-1894) Inline preemption filter in PreemptionVictimFilterImpl

     [ https://issues.apache.org/jira/browse/AURORA-1894?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mehrdad Nurolahzade updated AURORA-1894:
----------------------------------------
    Description: 
Profiling preemption logic, I can see {{PreemptionVictimFilterImpl#preemptionFilter()}} is producing ~200K/sec lambda objects to be used by {{filterPreemptionVictims()}}:
{code:title=PreemptionVictimFilterImpl.filterPreemptionVictims()}
      FluentIterable<PreemptionVictim> preemptableTasks = FluentIterable.from(possibleVictims)
          .filter(preemptionFilter(pendingTask));
{code}

Inline this logic (refactor to loop) to remove the need to create these short-lived lambda objects.

  was:
Profiling preemption logic, I can see {{org.apache.aurora.scheduler.preemptor.PreemptionVictimFilter.PreemptionVictimFilterImpl#preemptionFilter()}} is producing ~200K/sec lambda objects to be used by {{filterPreemptionVictims()}}:
{code:title=PreemptionVictimFilterImpl.filterPreemptionVictims()}
      FluentIterable<PreemptionVictim> preemptableTasks = FluentIterable.from(possibleVictims)
          .filter(preemptionFilter(pendingTask));
{code}

Inline this logic (refactor to loop) to remove the need to create these short-lived lambda objects.


> Inline preemption filter in PreemptionVictimFilterImpl
> ------------------------------------------------------
>
>                 Key: AURORA-1894
>                 URL: https://issues.apache.org/jira/browse/AURORA-1894
>             Project: Aurora
>          Issue Type: Task
>          Components: Scheduler
>            Reporter: Mehrdad Nurolahzade
>            Priority: Minor
>              Labels: newbie
>
> Profiling preemption logic, I can see {{PreemptionVictimFilterImpl#preemptionFilter()}} is producing ~200K/sec lambda objects to be used by {{filterPreemptionVictims()}}:
> {code:title=PreemptionVictimFilterImpl.filterPreemptionVictims()}
>       FluentIterable<PreemptionVictim> preemptableTasks = FluentIterable.from(possibleVictims)
>           .filter(preemptionFilter(pendingTask));
> {code}
> Inline this logic (refactor to loop) to remove the need to create these short-lived lambda objects.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)