From 1d749919e392f0d57a611b22bb14047a8931674f Mon Sep 17 00:00:00 2001 From: Jhen-Jie Hong Date: Thu, 23 Mar 2023 04:16:04 +0800 Subject: [PATCH] whisper.objc : add `-O3 -DNDEBUG` in release mode (#640) --- examples/whisper.objc/README.md | 2 ++ examples/whisper.objc/whisper.objc.xcodeproj/project.pbxproj | 4 ++++ examples/whisper.swiftui/README.md | 3 ++- .../whisper.swiftui/whisper.swiftui.xcodeproj/project.pbxproj | 4 ++++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/examples/whisper.objc/README.md b/examples/whisper.objc/README.md index ba401098aae..46174d2de85 100644 --- a/examples/whisper.objc/README.md +++ b/examples/whisper.objc/README.md @@ -24,3 +24,5 @@ Also, don't forget to add the `-DGGML_USE_ACCELERATE` compiler flag in Build Pha This can significantly improve the performance of the transcription: image + +In this project, it also added `-O3 -DNDEBUG` to `Other C Flags`, but adding flags to app proj is not ideal in real world (applies to all C/C++ files), consider splitting xcodeproj in workspace in your own project. diff --git a/examples/whisper.objc/whisper.objc.xcodeproj/project.pbxproj b/examples/whisper.objc/whisper.objc.xcodeproj/project.pbxproj index 9a9ee5465c4..2c93de759d6 100644 --- a/examples/whisper.objc/whisper.objc.xcodeproj/project.pbxproj +++ b/examples/whisper.objc/whisper.objc.xcodeproj/project.pbxproj @@ -296,6 +296,10 @@ IPHONEOS_DEPLOYMENT_TARGET = 16.0; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; + OTHER_CFLAGS = ( + "-O3", + "-DNDEBUG", + ); SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; }; diff --git a/examples/whisper.swiftui/README.md b/examples/whisper.swiftui/README.md index d21b04d98a5..4db6cd39538 100644 --- a/examples/whisper.swiftui/README.md +++ b/examples/whisper.swiftui/README.md @@ -7,8 +7,9 @@ To use: 2. Add the model to "whisper.swiftui.demo/Resources/models" via Xcode. 3. Select a sample audio file (for example, [jfk.wav](https://github.com/ggerganov/whisper.cpp/raw/master/samples/jfk.wav)). 4. Add the model to "whisper.swiftui.demo/Resources/samples" via Xcode. -5. Select the "release" build configuration under "Run", then deploy and run to your device. +5. Select the "Release" [^2] build configuration under "Run", then deploy and run to your device. [^1]: I recommend the tiny, base or small models for running on an iOS device. +[^2]: The `Release` build can boost performance of transcription. In this project, it also added `-O3 -DNDEBUG` to `Other C Flags`, but adding flags to app proj is not ideal in real world (applies to all C/C++ files), consider splitting xcodeproj in workspace in your own project. ![image](https://user-images.githubusercontent.com/1991296/212539216-0aef65e4-f882-480a-8358-0f816838fd52.png) diff --git a/examples/whisper.swiftui/whisper.swiftui.xcodeproj/project.pbxproj b/examples/whisper.swiftui/whisper.swiftui.xcodeproj/project.pbxproj index cc0afbcae4f..ab9f6888d59 100644 --- a/examples/whisper.swiftui/whisper.swiftui.xcodeproj/project.pbxproj +++ b/examples/whisper.swiftui/whisper.swiftui.xcodeproj/project.pbxproj @@ -430,6 +430,10 @@ LLVM_LTO = YES; MACOSX_DEPLOYMENT_TARGET = 13.0; MARKETING_VERSION = 1.0; + OTHER_CFLAGS = ( + "-O3", + "-DNDEBUG", + ); PRODUCT_BUNDLE_IDENTIFIER = com.whispercppdemo.WhisperCppDemo; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = auto;