https://github.com/HeisSpiter/acprof

sort by:
Revision Author Date Message Commit Date
832b6fc Simplify the call graph storage by removing redundant information 26 September 2013, 12:23:04 UTC
2b0d14e Add more build targets for easier comparisons 23 September 2013, 13:18:15 UTC
68cc9b7 Changed the way we handle multithreading. The previous way was wrong. Now, we ask the user to define when he wants multithreading support Added a semaphore to allow the new thread to signal when it's ready. This prevents mutex to be released too early and thus, prevents race conditions. Cut the advice around pthread_create in two (before/after), because the around advice appears to generate something wrong that G++ is unable to build. 11 September 2013, 16:13:01 UTC
0fa2a76 Fix the broken logic with multi-threading support. The previously generated call graph was just wrong, mixing all the data possible. Now, we generate a complete call graph, with all the correct data for each thread. Furthermore, we can now know which thread is called by whom. The drawback of such method is that it requires the user doesn't use pthread_create() anymore but TProfiler::pthread_create() so that we can weave on it. This function has the exact same prototype and behaviour than pthread_create() 11 September 2013, 13:06:06 UTC
55ed1ae Remove now useless variable (after: 1609e11bd555e819b6ce83530622198155fb15ae) 11 September 2013, 09:19:05 UTC
4f9ab96 Cosmetic code fix 28 August 2013, 15:47:10 UTC
bec8a70 Thanks to 500954476f5597681d983cd0abdfb6456ca8d317, this condition cannot be wrong anymore 28 August 2013, 15:19:55 UTC
1609e11 Take advantage of 5d5ee98d99a9ecf7d670412cc8a961693d1815da Our arrays size is now constant and we don't need to have algorithms that can adapt to its changing size. This helps simplifying the reduce operation at the end 28 August 2013, 15:15:54 UTC
9923c84 Take advantage of 500954476f5597681d983cd0abdfb6456ca8d317. As we limit usage of features, we can make assertions on their usage in code 28 August 2013, 14:06:32 UTC
5009544 Only enable the distribution features if we have enough cores on the machine (ie, more than 1) 28 August 2013, 13:44:11 UTC
5d5ee98 Quit using online processors count and move to configured processors count. It is the maximum processors count usuable, even if not online yet. It is set at boot time. It will help simplify the code 28 August 2013, 13:34:00 UTC
c2d3f80 Add support for multithreaded code profiling. So far profiler relies on a big lock to ensure that its data are not being overwritten while read. Code is not directly implemented in the aspect to prevent a superfluous lib pthread dependency. 15 August 2013, 08:51:59 UTC
74f71ad Also prune unused cores for cores changes tracking Fix a broken test that lead cores changes tracking NOT to be working (always null...) 13 August 2013, 11:39:47 UTC
d8400ff Add main advices first, so that they are executed first. This fixes arguments usage before they are even set. Display nbProcs in TProfilerAssert trace Prune cores with no changes on display 13 August 2013, 11:33:47 UTC
18b20ac Remove useless insertion (it always fails) 13 August 2013, 11:07:46 UTC
b0fcae3 Add a possibility to track function movement between machine cores. Will likely require fixes Using online processors as upper limit should be avoided in the future too... 13 August 2013, 09:51:41 UTC
762e02d Only display core usage if asked for it (introduces --acprof-with-core-usage) 05 June 2013, 13:26:11 UTC
5e6f301 Add support for profiling on which CPU core the code ended running 05 June 2013, 13:21:11 UTC
b269f58 Add sanity checks 06 March 2013, 14:06:41 UTC
f5aa316 Use appropriate macros to perform stuff 06 March 2013, 13:48:47 UTC
c76da39 Really count time using Linux resource usage counters. This allows counting user time and kernel time. Report both. 06 March 2013, 13:23:57 UTC
0df761b Use ag++ to make compilation simplier 15 February 2013, 10:11:58 UTC
681ccd1 Update README.md with limitations 15 February 2013, 08:19:42 UTC
35744fe Add more sanity checks 14 February 2013, 17:22:35 UTC
de8351a Complete .gitignore 14 February 2013, 16:49:10 UTC
9e45584 Complexify example again 14 February 2013, 16:48:34 UTC
1724332 Complexify example with class 14 February 2013, 16:41:37 UTC
a225758 Add functions_comp.cpp to .gitignore 13 February 2013, 16:56:55 UTC
a03bd98 Complexify example 13 February 2013, 16:56:19 UTC
c2ac8be Remove overzealous code that led to wrong output file for callgrind. This fixes files names handling. Even if it appears that there are still bugs with line position (?) 13 February 2013, 16:55:02 UTC
2a8a5d5 Change time code to get another independant counter. This allows switching time resolution to ms. 13 February 2013, 16:44:35 UTC
3f34f84 Also display file and line number in stdout output 13 February 2013, 16:29:46 UTC
a6ee056 Also add time as profiling data. Should switch to nanoseconds resolution 18 December 2012, 18:09:25 UTC
d3d8107 Complete .gitignore file 18 December 2012, 17:58:22 UTC
03284ca Complexify example to allow PI computation 18 December 2012, 17:57:38 UTC
08202c3 Cosmetic change 18 December 2012, 17:48:55 UTC
a3bfc03 Allow compiling the program alone 18 December 2012, 17:41:04 UTC
48ed38f Only use a function that already exists in the tree IF it has the same execution path 18 December 2012, 17:24:02 UTC
96e322a Implement own asserts to be able to dump context in case of failure 18 December 2012, 16:51:08 UTC
213bebd Rewrite the callgrind output generator using the new info It's not fully right, but the results are closer to the reality 18 December 2012, 13:21:25 UTC
47ba614 Store more information about children and parents 18 December 2012, 13:04:49 UTC
32d4596 Also print summary 17 December 2012, 17:47:33 UTC
e525d38 Comments++ 17 December 2012, 17:19:12 UTC
795106a Zero ununsed args in command line Delete args in destructor Display command line in output file 17 December 2012, 17:16:48 UTC
86264a4 Add PID to the output file 17 December 2012, 17:04:56 UTC
ad78f59 Simplify code 17 December 2012, 16:44:43 UTC
1a03411 Reimplement proper code for Callgrind output It takes into account call graph to produce dependencies. Works in callgrind even though some values are buggy. Furthermore, AspectC++ seems to have issues with files & lines... 17 December 2012, 16:00:45 UTC
856c8d9 Refactor code to only rely on the call graph for data This allows more precise resolution. Right now, disable callgrind output, it needs to be rewritten 17 December 2012, 14:57:18 UTC
ef36772 Display basic information for the moment It is properly handled by kcachegrind! 17 December 2012, 14:07:29 UTC
55e76c2 Complete implementation by adding file lines support 17 December 2012, 13:56:39 UTC
d88f6fc Add safety asserts 17 December 2012, 13:49:10 UTC
94d18dc Initialize callgrind support implementation Add support for filename 17 December 2012, 13:47:55 UTC
d205f1d Stop reimplementing the wheel! 17 December 2012, 13:21:36 UTC
7f6a293 Do not profile the profiler! 17 December 2012, 13:17:18 UTC
7e26a09 Modify the example application to display args it receives 17 December 2012, 13:11:50 UTC
2dcb327 Handle args that are directed to the profiler and not to the main application They are handled by profiler and never seen by the application 17 December 2012, 13:11:11 UTC
6df2651 Complexify example 14 December 2012, 10:37:43 UTC
2b0adb9 Properly count calls, especially for recursive calls 14 December 2012, 10:37:22 UTC
bb13af3 Fix yet another bug with recursive calls 14 December 2012, 09:37:00 UTC
3daa40d Space output 13 December 2012, 19:25:18 UTC
498481d Complexify the example 13 December 2012, 19:24:34 UTC
abdeb8c Fix a bug in recursive functions handling (which was not working) Fix insertions in the call graph Fix level jumping in case we had already inserted the function. This has to be done! Except for recursive call. 13 December 2012, 19:24:11 UTC
bf7be32 Remove the function entry when it's done running 13 December 2012, 13:54:22 UTC
5d051c5 Use clock ticks to mesure time 13 December 2012, 13:12:17 UTC
74a8bd6 Add a .gitignore file 13 December 2012, 12:38:55 UTC
195d3bb Simplify a bit 13 December 2012, 10:46:07 UTC
150cd7c Fix a few bugs in call graph Display call graph at the end of execution Free used memory 13 December 2012, 10:33:31 UTC
2145568 Add support for call graphs 13 December 2012, 10:07:34 UTC
fe1de99 Add a function to ask for max and fix it 13 December 2012, 08:36:35 UTC
35ce754 Add initial code. This for the moment produces a rather simple profiling output 12 December 2012, 21:36:13 UTC
d28151e Initial commit 12 December 2012, 21:34:39 UTC
back to top