30 likes | 170 Views
performance counts. Program development make it run make it right make it fast make it small Measuring performance gprof execution time profiler (see cps108 doc page) key points: don’t profile -g runs, use -O -pg or -pg memory allocation can be an issue too
E N D
performance counts • Program development • make it run • make it right • make it fast • make it small • Measuring performance • gprof execution time profiler (see cps108 doc page) • key points: don’t profile -g runs, use -O -pg or -pg • memory allocation can be an issue too • Heapstats can help with memory leaks (code page) • Memory is cheap, disk space is cheap, why be small?
Goofi design • Space time tradeoffs • big index, fast search times; small index, slow search times? • What about data structures? Choices? • I/O will be a big issue depending on design decisions • making I/O fast flexibly, see readplus.cc, readraw.cc, zread.cc • try man mmap as well • use proxy classes to insulate app from changes, or maybe this is the strategy pattern? Or a reader factory?
Team work with goofi • Design first, code later • part of the design should be team-oriented, towards ensuring everyone has something to do: low coupling, high cohesion • time up front is needed given the timeframe and other work that’s coming • Someone is in charge, but everyone is listened to • vision • bozo bits • hats • What about Qt?