From 7c27266b08a2f3b9e853a4b5ce65a58f312eeea2 Mon Sep 17 00:00:00 2001 From: ened Date: Thu, 29 Jun 2023 13:18:05 +0900 Subject: [PATCH] Optimization to run faster --- KissMeIndex/Sources/KissIndex.swift | 12 +++++++++--- .../xcshareddata/xcschemes/KissMeIndex.xcscheme | 3 ++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/KissMeIndex/Sources/KissIndex.swift b/KissMeIndex/Sources/KissIndex.swift index de7dc6a..48e4bc2 100644 --- a/KissMeIndex/Sources/KissIndex.swift +++ b/KissMeIndex/Sources/KissIndex.swift @@ -125,9 +125,10 @@ extension KissIndex { var collectedDay = 0 var prevDays = 1 var desiredDate: Date? = date + var desired_yyyyMMdd = desiredDate!.yyyyMMdd while desiredDate != nil, prevDays < recentCount * 7 { - let selected = shorts.filter { $0.stockBusinessDate == desiredDate!.yyyyMMdd } + let selected = shorts.filter { $0.stockBusinessDate == desired_yyyyMMdd } targetShorts.append(contentsOf: selected) if selected.count > 0 { collectedDay += 1 @@ -136,6 +137,7 @@ extension KissIndex { break } desiredDate = desiredDate!.changing(year: yyyy, month: mm, day: dd-prevDays) + desired_yyyyMMdd = desiredDate!.yyyyMMdd prevDays += 1 } @@ -176,9 +178,10 @@ extension KissIndex { var collectedDay = 0 var prevDay = 1 var desiredDate: Date? = date + var desired_yyyyMMdd = desiredDate!.yyyyMMdd while desiredDate != nil, prevDay < recentCount * 7 { - let selected = prices.filter { $0.stockBusinessDate == desiredDate!.yyyyMMdd } + let selected = prices.filter { $0.stockBusinessDate == desired_yyyyMMdd } targetPrices.append(contentsOf: selected) if selected.count > 0 { collectedDay += 1 @@ -187,6 +190,7 @@ extension KissIndex { break } desiredDate = desiredDate!.changing(year: yyyy, month: mm, day: dd-prevDay) + desired_yyyyMMdd = desiredDate!.yyyyMMdd prevDay += 1 } @@ -257,11 +261,12 @@ extension KissIndex { var collectedDay = 0 var prevDays = 1 var desiredDate: Date? = date + var desired_yyyyMMdd = desiredDate!.yyyyMMdd /// recentCount * 7 는 일주일에 최소 거래일이 1개는 있다고 판단하여 지정된 상수값 /// while desiredDate != nil, prevDays < recentCount * 7 { - let selected = investors.filter { $0.stockBusinessDate == desiredDate!.yyyyMMdd } + let selected = investors.filter { $0.stockBusinessDate == desired_yyyyMMdd } targetInvestors.append(contentsOf: selected) if selected.count > 0 { collectedDay += 1 @@ -270,6 +275,7 @@ extension KissIndex { break } desiredDate = desiredDate!.changing(year: yyyy, month: mm, day: dd-prevDays) + desired_yyyyMMdd = desiredDate!.yyyyMMdd prevDays += 1 } diff --git a/projects/macos/KissMeIndex.xcodeproj/xcshareddata/xcschemes/KissMeIndex.xcscheme b/projects/macos/KissMeIndex.xcodeproj/xcshareddata/xcschemes/KissMeIndex.xcscheme index 5f52093..e7b3c52 100644 --- a/projects/macos/KissMeIndex.xcodeproj/xcshareddata/xcschemes/KissMeIndex.xcscheme +++ b/projects/macos/KissMeIndex.xcodeproj/xcshareddata/xcschemes/KissMeIndex.xcscheme @@ -62,7 +62,8 @@ buildConfiguration = "Release" shouldUseLaunchSchemeArgsEnv = "YES" savedToolIdentifier = "" - useCustomWorkingDirectory = "NO" + useCustomWorkingDirectory = "YES" + customWorkingDirectory = "$(SRCROOT)/../../bin" debugDocumentVersioning = "YES">