Created
May 11, 2020 22:05
-
-
Save kerrickstaley/03ce209596678d8f19938cb18ff64a4a to your computer and use it in GitHub Desktop.
Program for reproducing flamegraph issue with pprof
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <cstdint> | |
uint64_t square(uint64_t n) { | |
return n * n; | |
} | |
uint64_t square_sum(uint64_t m) { | |
uint64_t ret = 0; | |
for (uint64_t i = 1; i <= m; i++) { | |
uint64_t sq = square(i); | |
ret += sq; | |
} | |
return ret; | |
} | |
void func62() { | |
std::cout << "sum of first billion squares mod 2**64 is " << square_sum(1000000000) << '\n'; | |
} | |
void func61() { func62(); } | |
void func60() { func61(); } | |
void func59() { func60(); } | |
void func58() { func59(); } | |
void func57() { func58(); } | |
void func56() { func57(); } | |
void func55() { func56(); } | |
void func54() { func55(); } | |
void func53() { func54(); } | |
void func52() { func53(); } | |
void func51() { func52(); } | |
void func50() { func51(); } | |
void func49() { func50(); } | |
void func48() { func49(); } | |
void func47() { func48(); } | |
void func46() { func47(); } | |
void func45() { func46(); } | |
void func44() { func45(); } | |
void func43() { func44(); } | |
void func42() { func43(); } | |
void func41() { func42(); } | |
void func40() { func41(); } | |
void func39() { func40(); } | |
void func38() { func39(); } | |
void func37() { func38(); } | |
void func36() { func37(); } | |
void func35() { func36(); } | |
void func34() { func35(); } | |
void func33() { func34(); } | |
void func32() { func33(); } | |
void func31() { func32(); } | |
void func30() { func31(); } | |
void func29() { func30(); } | |
void func28() { func29(); } | |
void func27() { func28(); } | |
void func26() { func27(); } | |
void func25() { func26(); } | |
void func24() { func25(); } | |
void func23() { func24(); } | |
void func22() { func23(); } | |
void func21() { func22(); } | |
void func20() { func21(); } | |
void func19() { func20(); } | |
void func18() { func19(); } | |
void func17() { func18(); } | |
void func16() { func17(); } | |
void func15() { func16(); } | |
void func14() { func15(); } | |
void func13() { func14(); } | |
void func12() { func13(); } | |
void func11() { func12(); } | |
void func10() { func11(); } | |
void func9() { func10(); } | |
void func8() { func9(); } | |
void func7() { func8(); } | |
void func6() { func7(); } | |
void func5() { func6(); } | |
void func4() { func5(); } | |
void func3() { func4(); } | |
void func2() { func3(); } | |
void func1() { func2(); } | |
int main() { | |
func1(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment