Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Use JSStringCreateWithUTF8CString and skip NSString decoding when loa…
…ding the bundle Summary: public Benchmarking our startup path has shown we spend a lot of time decoding strings (iPhone 4S / iPhone 5): * reading a 2MB JS bundle: 35ms / 15ms * decoding is to an `NSString`: 186ms / 78ms * transforming that to a `JSString`: 29ms / 10ms Instead of going through an `NSString` transformation, we generate a null-terminated bundle (0.1ms / 0.05ms to copy the data) and use `JSStringCreateWithUTF8CString` (121ms / 53ms) to generate the string. That makes decoding 70% faster. Reviewed By: javache Differential Revision: D2541140 fb-gh-sync-id: 09a016b8edfd46a9b62682c76705564d2024e75e
- Loading branch information
Showing
with
47 additions
and 35 deletions.
- +2 −2 Examples/UIExplorer/UIExplorerUnitTests/RCTContextExecutorTests.m
- +1 −1 Libraries/WebSocket/RCTWebSocketExecutor.m
- +10 −9 React/Base/RCTBatchedBridge.m
- +1 −1 React/Base/RCTBridgeDelegate.h
- +1 −1 React/Base/RCTJavaScriptExecutor.h
- +6 −4 React/Base/RCTJavaScriptLoader.m
- +8 −2 React/Executors/RCTContextExecutor.m
- +13 −12 React/Executors/RCTWebViewExecutor.m
- +1 −1 React/Modules/RCTSourceCode.h
- +4 −2 React/Modules/RCTSourceCode.m