in src/CodeSetSize/CodeSetSize.cpp [205:234]
int main(int argc, char** argv)
{
if (argc != 2)
{
cerr << "Usage: " << argv[0] << " <max size of code in MB>\n";
return -1;
}
auto memSize = (1 << 20) * atoi(argv[1]);
pinToCore(0);
maxPriority();
for (auto& e : expLong(execTrans, 1 << 16, 1 << 16, memSize, nRetries, false))
{
auto success = e.second[_XBEGIN_STARTED];
cout << e.first << "," << (float)(nRetries - success) / (float)nRetries << "\n";
}
//
// different variations of the experiment follow as comments
//
/*cout << "Exp 1 (long nopsled, strictly no mem access, no calls etc. )\n--------------\n";
exp(execTrans, memSize, true);*/
/*cout << "Exp 2 (long nopsled, exactly one read, no calls etc. )\n--------------\n";
exp(execTransRead1, memSize);*/
/*cout << "Exp 3 (long nopsled, strictly no mem access, no calls etc. Nopsled is executed twice in one transaction.)\n--------------\n";
exp3(memSize);*/
return 0;
}