Files
swift-mirror/utils/benchmark/Strings/CPPStringBench.cpp
2014-02-13 23:23:58 +00:00

24 lines
499 B
C++

#include <mach/mach_time.h>
#include <string>
#include <stdio.h>
#define LAPS 10000000
std::wstring s = L"siebenhundertsiebenundsiebzigtausendsiebenhundertsiebenundsiebzig";
int
main(void) {
uint64_t count = 0;
uint64_t start = mach_absolute_time();
for (auto i = 0; i < LAPS; i++) {
for (auto c : s) {
count++;
asm volatile("" : "+r" (count));
}
}
uint64_t delta = mach_absolute_time() - start;
printf("%f ns/lap\n", (double)delta / (double)LAPS);
return 0;
}