Coder Social home page Coder Social logo

skymizer / skypat Goto Github PK

View Code? Open in Web Editor NEW
48.0 48.0 14.0 454 KB

A C++ performance analyzing and testing framework on Android and Linux platforms.

Home Page: http://skypat.skymizer.com

License: BSD 3-Clause "New" or "Revised" License

Shell 0.97% Makefile 1.25% C++ 64.78% M4 30.86% Assembly 2.14%

skypat's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

skypat's Issues

Need automatical testing script

Hi,

I'm going to release a new version of pat. But I found some problems. The 
significant problem for me is to run all examples to ensure the correctness of 
pat.

For now, we don't have testing script to run all examples automatically. Is 
there anyone willing to contribute?

Luba.

Original issue reported on code.google.com by [email protected] on 31 Mar 2014 at 5:14

Export result to a file

There is a way to export the results to a data file? Like a text file.

I am trying to create a table with the results.

Template global function causes visibility warning.

When I compile pat with 2.6.2, I got many of the warning:
{{{
ld: warning: direct access in 
pat::testing::GetBoolAssertionFailureMessage(pat::testing::AssertionResult 
const&, char const*, char const*, char const*) to global weak symbol VTT for 
pat::BasicOStrStream<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > means the weak symbol cannot be overridden at 
runtime. This was likely caused by different translation units being compiled 
with different visibility settings.
}}}

I'm not sure the causes of the warning. I'm trying to change default visibility 
to remove this warning.

Original issue reported on code.google.com by [email protected] on 20 Mar 2014 at 6:52

Separate pat.cpp into several files

In order to let "pat"'s source code become more readable, it's necessary to 
separate "pat.cpp" into several files, such as:
- lib/Support/Timer.cpp
- lib/Support/ManagedStatic.h
- lib/Support/ManagedStatic.cpp
- lib/ADT/Color.h
- lib/ADT/Color.cpp
- lib/Support/OStream.h
- lib/Support/OStream.cpp
- lib/Core/pat.cpp
- lib/Listeners/PrettyPrinter.cpp



Original issue reported on code.google.com by [email protected] on 6 Mar 2014 at 9:24

Check permission before using

Maybe Skypat can add some description to user that check permission to collect system-wide stats.
Consider tweaking /proc/sys/kernel/perf_event_paranoid:
Because Skypat does't handle "m_Fd" will return -1.

API Reference page

Maybe we can create an API Reference page to let user know all the macros, methods...etc.

It's inconvenience for users to dig in codes to find what they can use.

Compilation error on Linux x86-64

What steps will reproduce the problem?
I download pat via git at pat/ directory.

1. cp ./pat/utils/build-script/build.sh .
2. ./build.sh ./pat dbg

What do you see?
I got the compilation errors:
{{{
home/luba/Skymizer/pat/./pat.git/lib/ADT/Color.cpp: In member function 'void 
pat::Color::setColor(std::ostream&)':
/home/luba/Skymizer/pat/./pat.git/lib/ADT/Color.cpp:32:7: error: no match for 
'operator<<' (operand types are 'std::ostream {aka std::basic_ostream<char>}' 
and 'const char [3]')
   pOS << "\033[";
       ^
/home/luba/Skymizer/pat/./pat.git/lib/ADT/Color.cpp:32:7: note: candidates are:
In file included from /home/luba/Skymizer/pat/./pat.git/lib/ADT/Color.cpp:9:0:
/home/luba/Skymizer/pat/./pat.git/include/pat/ADT/Color.h:61:10: note: 
std::ostream& std::operator<<(std::ostream&, pat::Color::kColor)
 ostream& operator<<(ostream& pOS, pat::Color::kColor pColor);
          ^
/home/luba/Skymizer/pat/./pat.git/include/pat/ADT/Color.h:61:10: note:   no 
known conversion for argument 2 from 'const char [3]' to 'pat::Color::kColor'
/home/luba/Skymizer/pat/./pat.git/include/pat/ADT/Color.h:60:10: note: 
std::ostream& std::operator<<(std::ostream&, pat::Color)
 ostream& operator<<(ostream& pOS, pat::Color pColor);
          ^
/home/luba/Skymizer/pat/./pat.git/include/pat/ADT/Color.h:60:10: note:   no 
known conversion for argument 2 from 'const char [3]' to 'pat::Color'

# ignore the rest.
}}}

Original issue reported on code.google.com by [email protected] on 20 Mar 2014 at 7:08

Cannot execute "perf sched"

I've tried to use "perf sched" to measure the execution time of test-cases on 
linux-x86 and linux-arm.
But I cannot execute "perf sched" on both platforms.



Original issue reported on code.google.com by [email protected] on 24 Mar 2014 at 10:13

Leverage Linux perf_event

This issue is created to record the development process of perf_event. At the 
time this issue was created, the finest grained timer in pat is gettimeofday 
and didn't provide any profiling details.

Original issue reported on code.google.com by [email protected] on 20 Mar 2014 at 7:51

Provide ASSERT_EQ/NE

Dears,

When I'm in the development of the bold project, I find I really want pat to 
provide ASSERT_EQ/NE macros.

Is there anyone responsible for this?

Luba

Original issue reported on code.google.com by [email protected] on 19 Mar 2014 at 9:22

Distinquish FreeBSD, NetBSD, Linux and Darwin

Different Unix has different PMU interfaces.
For examples, Linux uses perf_events and FreeBSD uses HWPMC. Both of them 
control the hardware performance unit though very different interfaces.

We should distinguish these operating system at configure script and repolish 
Support/ directory structure.

Original issue reported on code.google.com by [email protected] on 20 Mar 2014 at 7:47

Nee to write "HowToUse" page

Write "HowToUse" page for guiding users to write their test-case to use "pat" 
to analysis their program's performance.


Original issue reported on code.google.com by [email protected] on 10 Mar 2014 at 8:16

Message printed when equality test failed is confusing in some case.

Description

When the compared variable is changed within the equality test expression, such as EXPECT_EQ, the variable is changed for the second time when SkyPat is showing error message.

Code

In this case, the left-hand side is 11.

PAT_F(IntegerTest, eq_test)
{
  int a = 10;
  EXPECT_EQ(++a, 12);
}

Result

But the error shows 12 instead of 11.

[----------] 1 test from IntegerTest.
[ RUN      ] IntegerTest.eq_test
[  FAILED  ] 
IntegerTest.cpp:5: error: failed to expect
Value of: (++a == 12)
  Actual:   12
  Expected: 12

Expectation

  Actual:   11
  Expected: 12

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.