Skip to content

Commit 272e8ef

Browse files
committed
Containers: initial benchmark for a subset of StringView APIs.
More APIs will be added as they get a potential for being SIMDified, and more variants depending on what SIMD corner cases appear.
1 parent 46e4ed0 commit 272e8ef

File tree

4 files changed

+467
-0
lines changed

4 files changed

+467
-0
lines changed

src/Corrade/Containers/Test/CMakeLists.txt

+15
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,15 @@
2828
# property that would have to be set on each target separately.
2929
set(CMAKE_FOLDER "Corrade/Containers/Test")
3030

31+
if(CORRADE_TARGET_EMSCRIPTEN OR CORRADE_TARGET_ANDROID)
32+
set(CONTAINERS_TEST_DIR ".")
33+
else()
34+
set(CONTAINERS_TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR})
35+
endif()
36+
37+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake
38+
${CMAKE_CURRENT_BINARY_DIR}/configure.h)
39+
3140
corrade_add_test(ContainersAnyReferenceTest AnyReferenceTest.cpp)
3241
corrade_add_test(ContainersArrayTest ArrayTest.cpp)
3342
corrade_add_test(ContainersArrayTupleTest ArrayTupleTest.cpp LIBRARIES CorradeUtilityTestLib)
@@ -72,6 +81,12 @@ corrade_add_test(ContainersStridedArrayViewStlTest StridedArrayViewStlTest.cpp)
7281
corrade_add_test(ContainersStringTest StringTest.cpp LIBRARIES CorradeUtilityTestLib)
7382
corrade_add_test(ContainersStringStlTest StringStlTest.cpp)
7483
corrade_add_test(ContainersStringViewTest StringViewTest.cpp LIBRARIES CorradeUtilityTestLib)
84+
85+
corrade_add_test(ContainersStringViewBenchmark StringViewBenchmark.cpp
86+
LIBRARIES CorradeUtilityTestLib
87+
FILES StringTestFiles/lorem-ipsum.txt)
88+
target_include_directories(ContainersStringViewBenchmark PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
89+
7590
corrade_add_test(ContainersTripleTest TripleTest.cpp)
7691
corrade_add_test(ContainersTripleStlTest TripleStlTest.cpp)
7792

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin suscipit pharetra elit, vel ornare dui sollicitudin vel. Sed bibendum erat ex, at gravida risus rhoncus a. Sed non placerat ipsum, vitae mattis metus. Duis libero nisi, ullamcorper euismod mauris sit amet, vulputate mollis leo. Vivamus rhoncus ante et nunc lobortis lobortis. Donec elementum felis id lorem volutpat, sed varius lectus blandit. Ut sit amet elit et diam eleifend tincidunt. Vivamus rutrum consequat euismod. Nullam pretium felis eget arcu tincidunt congue. Fusce at suscipit tellus. Sed efficitur leo at ligula tempus, eget dignissim ex lobortis.
2+
3+
Maecenas sit amet ligula metus. Phasellus non pretium felis. Suspendisse at metus in magna viverra sollicitudin. Etiam felis lectus, facilisis ac malesuada non, laoreet sed arcu. Nulla congue nulla justo, vitae elementum massa mollis eu. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam commodo sapien enim, eleifend tempor leo feugiat a. Integer tincidunt, ligula at vulputate posuere, nulla diam sollicitudin augue, vitae suscipit lectus lorem nec risus. Duis ex metus, elementum sed libero scelerisque, faucibus sollicitudin elit. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras ac ultrices tortor, in fringilla augue. In magna nibh, molestie id lacinia ut, hendrerit sit amet lacus.
4+
5+
Pellentesque ac risus sed ligula condimentum consectetur. Ut eu dolor faucibus justo consectetur imperdiet nec id risus. Etiam sodales blandit est, et consectetur ex rutrum ut. Nullam at dignissim lorem. Cras non neque a sem malesuada tincidunt et nec elit. Vivamus dignissim elit eu auctor eleifend. Donec convallis quam eu aliquet gravida. Curabitur porttitor ipsum lectus, quis varius ex vulputate ut.
6+
7+
Morbi a mattis nunc. Mauris suscipit orci eget nibh tincidunt aliquet. Praesent maximus ullamcorper ligula sed pellentesque. In hac habitasse platea dictumst. Suspendisse at purus nisl. Curabitur quis odio est. Ut tempor nunc quis magna euismod, vitae interdum massa faucibus. Ut in porta mauris, rhoncus hendrerit mi. Quisque orci lacus, malesuada vel augue eget, ultricies pretium nisi. Suspendisse metus ex, tristique ac facilisis at, bibendum vel eros. Integer eleifend nibh a diam malesuada, in lacinia leo condimentum. Duis dignissim rutrum odio, nec feugiat sapien elementum nec. Donec quis augue elit. Cras laoreet, sapien sed rhoncus dapibus, ligula mauris placerat enim, sed mattis sem ipsum sit amet mi. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed imperdiet purus urna, volutpat dictum ante interdum in.
8+
9+
Mauris a massa pharetra, gravida ligula a, fringilla orci. Praesent tempor pretium pretium. Mauris tincidunt pellentesque maximus. Quisque eget mauris diam. In nec porttitor felis, et finibus mauris. Donec quis quam risus. Vivamus blandit ornare massa, in vulputate purus tincidunt a. Nam at erat non lorem iaculis faucibus. Nulla eu magna odio. Mauris dignissim tempor velit, ut pretium eros dignissim id. Duis fermentum viverra lectus ut dapibus. Nullam id turpis efficitur velit iaculis varius vitae vel nunc. Morbi urna velit, consequat mollis dui nec, vestibulum dictum tellus. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Pellentesque in pulvinar lacus, et vulputate turpis.

0 commit comments

Comments
 (0)