🍏(114)
-
[Swift] Understanding Swift Performance / WWDC 16
Understanding Swift Performance - WWDC16 - Videos - Apple Developer In this advanced session, find out how structs, classes, protocols, and generics are implemented in Swift. Learn about their relative... developer.apple.com 위 링크의 비디오를 보고 정리한 글입니다. Heap영역은 Stack보다 더 많은 코스트를 사용한다. Stack 차원으로 관리를 하면 성능향상에 도움이 된다. Class와 Struct의 관점에서 Allocation, Reference counting 을 확인하고 사용. How to More Better Perf..
2023.03.09 -
[Swift] typealias
Typealias 타입의 별명을 지정 typealias Coordinate = (x: Int, y: Int) typealias Size = Int typealias Vactor = (Coordinate, Size) typealias Force = (() -> (Void)) func weight() {print("W")} func calculate(_ vactor: Vactor) -> Force {return weight} let c = calculate(((0, 0), 0)) c()
2023.03.04 -
[Swift] SIMD는 무엇이고 어떻게 사용하는가 ?
SIMD (Single Instruction Multiple Data) 하나의 명령어로 여러 개의 데이터를 처리하는 기술 SIMD ? SIMD는 하나의 명령어로 동시에 여러 개의 데이터를 처리하기 때문에 벡터 연산에 매우 효과적이며, 데이터 병렬성을 활용하여 연산 처리 하므로 성능이 뛰어나다. SIMD는 보통 과학 및 공학 분야에서 사용되며, 특히 컴퓨터 그래픽스, 신호 처리, 이미지 처리, 머신 러닝 및 딥 러닝 등의 분야에서 많이 활용. 하지만 SIMD는 하드웨어에서 지원해야 하므로, CPU나 GPU에서 지원하는 SIMD 기술을 확인해야 한다. 또한 SIMD를 사용할 때에는 데이터 정렬과 같은 세부적인 구현 방법도 고려해야 하므로, 주의가 필요하다. Swift 에서의 SIMD2 SIMD2는 SIMD ..
2023.03.03 -
[Swift] 소수점 표현 올림(ceil), 반올림(round), 내림(floor), 포맷(format)
스위프트 소수점 표현 올림(ceil), 반올림(round), 내림(floor), 포맷(format) 요약 : import Foundation ceil(0.1) // 1.0 ceil(0.5) // 1.0 ceil(0.9) // 1.0 round(0.1) // 0.0 round(0.5) // 1.0 round(0.9) // 1.0 floor(0.1) // 0.0 floor(0.5) // 0.0 floor(0.9) // 0.0 String(format: "%.3f", 55.5555) // 55.555 String(format: "%.3f", 55.5556) // 55.556 let N = NumberFormatter() N.roundingMode = .floor // type N.maximumSignifica..
2023.03.03 -
[Swift] ARC (Automatic Reference Counting)
컴파일 시 자동으로 구문 분석 후 적절하게 레퍼런스 감소 코드를 삽입 메모리상의 변수, 상수, 객체 등을 자동으로 관리. 참조 카운팅이 0이 될 때, 메모리에서 해제. 요약 Running state 중 별도의 메모리 관리가 이루어지지 않는다. 참조 카운팅은 클래스 타입의 인스턴스에만 적용되고 값 타입인 구조체 열거형 등에는 적용되지 않는다. - 값 타입은 정적 메모리 공간에 생기는 것이라서 메모리 관리 대상이 아님. ARC는 더 이상 필요하지 않은 클래스의 인스턴스를 메모리에서 해제하는 방식으로 동작. 장점 컴파일 시 인스턴스 해제 시점이 정해져 있어서 인스턴스가 언제 메모리에서 해제될지 예측 가능. 위와 같은 이유로 메모리 관리를 위한 시스템 자원을 추가할 필요가 없음. 단점 작동 규칙을 모르고 사용하..
2023.02.28