Skip to content

Instantly share code, notes, and snippets.

@kerrickstaley
Created May 11, 2020 22:05
Show Gist options
  • Save kerrickstaley/03ce209596678d8f19938cb18ff64a4a to your computer and use it in GitHub Desktop.
Save kerrickstaley/03ce209596678d8f19938cb18ff64a4a to your computer and use it in GitHub Desktop.
Program for reproducing flamegraph issue with pprof
#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