Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2016 Cat System Workshop:Introduction to SkyPat

Skymizer
September 06, 2016

2016 Cat System Workshop:Introduction to SkyPat

覺得 Performance test 是個痛苦的過程?想要知道特定程式碼的效能老是沒有辦法?就來看看 Peter 怎麼說!有興趣也可以前往:https://skypat.skymizer.com/ 了解更多噢!

Skymizer

September 06, 2016
Tweet

More Decks by Skymizer

Other Decks in Programming

Transcript

  1. #include <pat/pat.h> // In MathCase, fibonacci_test PAT_F(MathCase, fibonacci_test) { ASSERT_TRUE(fibonacci(3)

    == 3); EXPECT_EQ(fibonacci(3), 3); PERFORM { fibonacci(3); } } A glace at SkyPat 5
  2. #include <pat/pat.h> // In MathCase, fibonacci_test PAT_F(MathCase, fibonacci_test) { ASSERT_TRUE(fibonacci(3)

    == 3); EXPECT_EQ(fibonacci(3), 3); PERFORM { fibonacci(3); } } A glace at SkyPat 6
  3. M M M T T T T T T T

    T T C C C Every casecontains multiple test-functions. Every test-function performs multiple evaluation macros. An evaluation macro could be either ASSERT, EXPECT, or PERFORM. 7
  4. 12 SkyPAT integrates “perf_event” to evaluate regions of code. “perf”

    cannotevaluate regions of code. “Software Task Clock” is still not cycle-accurate.
  5. SkyPat welcome anyone to develop a “PMC” without interference from

    OS scheduler Only cycle-accurate timer w/o OS interference can evaluate call-intensiveprogram 13
  6. 1. DownloadSkyPat from our website 2. Use build-script to build

    SkyPat 3. Write your test-case 4. Compileyour test-case 14 $ git clone https://code.google.com/p/pat/ $ ./pat/utils/build-script/build.sh [src folder] normal $ cd build-pat-normal; make install $ vim MathCase.cpp $ g++ -I/home/user/pat/include MathCase.cpp