@mudssky/jsutils
    Preparing search index...

    Function performanceCompare

    • 创建一个性能比较装饰器,用于比较同一个类中多个方法的性能。

      该装饰器会收集被装饰方法的性能数据,并在指定时机生成比较报告。

      Parameters

      Returns (
          originalMethod: AnyFunction,
          context: ClassMethodDecoratorContext,
      ) => AnyFunction

      返回一个方法装饰器

      class SortingAlgorithms {
      @performanceCompare('sorting', { iterations: 1000 })
      bubbleSort(arr: number[]) {
      // 冒泡排序实现
      return bubbleSortImpl([...arr])
      }

      @performanceCompare('sorting', { iterations: 1000 })
      quickSort(arr: number[]) {
      // 快速排序实现
      return quickSortImpl([...arr])
      }

      @performanceCompare('sorting', { iterations: 1000 })
      mergeSort(arr: number[]) {
      // 归并排序实现
      return mergeSortImpl([...arr])
      }

      // 调用此方法会输出所有sorting组方法的性能比较报告
      showSortingComparison() {
      // eslint-disable-next-line no-console
      console.log(getPerformanceReport('sorting'))
      }
      }