Ignore:
Timestamp:
06/17/15 18:28:25 (10 years ago)
Author:
pharms
Message:
  • implemented performance improvement to not compare too many tasks
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/utils/MostSimilarTaskDeterminer.java

    r1968 r1970  
    7676    /** TODO comment */ 
    7777    private long comparisonCounter = 0; 
     78     
     79    /** TODO comment */ 
     80    private long effectiveComparisonCounter = 0; 
    7881 
    7982    /** 
     
    453456         
    454457        Console.traceln 
    455             (Level.FINER, "all threads finished, " + comparisonCounter + " comparisons done"); 
     458            (Level.FINER, "all threads finished, " + comparisonCounter + " comparisons done (" + 
     459             effectiveComparisonCounter + " effectively)"); 
    456460         
    457461        if (comparisonCounter != (((tasks.size() - 1) * tasks.size()) / 2)) { 
     
    565569            List<SimilarTasks> allMostSimilarTasks = new LinkedList<SimilarTasks>(); 
    566570            int counter = 0; 
     571            int effectiveComparisons = 0; 
    567572             
    568573            LEFT_HAND_TRAVERSAL: 
     
    590595                            continue RIGHT_HAND_TRAVERSAL; 
    591596                        } 
     597                         
     598                        effectiveComparisons++; 
    592599 
    593600                        SimilarTasks similarTasks1 = SimilarTasks.compareTraversals 
     
    637644                mostSimilarTasksList.addAll(allMostSimilarTasks); 
    638645                comparisonCounter += counter; 
     646                effectiveComparisonCounter += effectiveComparisons; 
    639647                 
    640648                for (int i = 0; i < unfinishedRunnables.size(); i++) { 
     
    660668            } 
    661669            else { 
     670                ITask firstTask1 = traversal1.get(0); 
     671                ITask firstTask2 = traversal2.get(0); 
     672                 
     673                if (!comparator.equals(firstTask1, firstTask2)) { 
     674                    return false; 
     675                } 
     676                 
     677                ITask lastTask1 = traversal1.get(traversal1.size() - 1); 
     678                ITask lastTask2 = traversal2.get(traversal2.size() - 1); 
     679                 
     680                if (!comparator.equals(lastTask1, lastTask2)) { 
     681                    return false; 
     682                } 
     683                 
    662684                return true; 
    663685            } 
     
    665687 
    666688        /** 
    667          * <p> 
    668          * TODO: comment 
    669          * </p> 
    670689         * 
    671          * @param similarTasks1 
    672          * @param similarTasks2 
    673          * @return 
    674690         */ 
    675691        private SimilarTasks getSimilarTasksToPrefer(SimilarTasks similarTasks1, 
     
    770786 
    771787        /** 
    772          * <p> 
    773          * TODO: comment 
    774          * </p> 
    775          * 
    776          * @param first 
    777          * @param eventCoverage 
    778          * @param taskModel2 
    779          * @return 
     788         *  
    780789         */ 
    781790        private int getTaskMetric(ITask task, TaskMetric metric) { 
     
    807816 
    808817        /** 
    809          * <p> 
    810          * TODO: comment 
    811          * </p> 
    812          * 
    813          * @param first 
    814          * @return 
     818         *  
    815819         */ 
    816820        private long getFirstTimestamp(ITask task) { 
Note: See TracChangeset for help on using the changeset viewer.