|Areas||C, Tcl, ...|
|Good if student knows||C, Benchmarking, Statistics|
|Difficulty||Easy to Medium|
|Benefits to the student||???|
|Benefits to the Tcl Community||An enhanced performance benchmark suite, long-term performance measurements to guide core development, hopefully places to look into where things can be done better.|
|See also||GSoC Idea: Microbenchmarking extension (specific possible sub-project)|
At the core (sic!) of the project is the use of tclbench and other benchmark suites and tools (valgrind, cachegrind, ...) to investigate the Tcl's core performance over a long period of time, i.e. starting from now back at least 8 years (as we have all this in the repository history).
Based on this data the student should further investigate times of abrupt changes to determine causes as much as possible.
Another part of the work will be to extend/modify tclbench with additional benchmarks, more sensible benchmarks, etc.
Maybe also create a set of C based benchmarks which directly use and measure the performance of various sets of API functions, internals, etc.
Possibly even develop/collect a suite of applications which can be used to measure real-world performance, versus the synthetic benchmarks of tclbench.
Comments & Discussion
Some comments here