Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x86 Binaries #72

Closed
Silveryard opened this issue Oct 21, 2017 · 7 comments
Closed

x86 Binaries #72

Silveryard opened this issue Oct 21, 2017 · 7 comments
Labels
bug core Issues related to easy_profiler_core resolved

Comments

@Silveryard
Copy link
Contributor

Hi,

Would it be possible to include x86/Win32 Windows binaries into the next release?
Previously I compiled the source myself but now the code triggers an internal compiler error so I cannot build the library...

Silveryard

@rationalcoder
Copy link
Contributor

I don't have any influence over what they provide in the releases, but can you provide an example of the error?

@cas4ey
Copy link
Collaborator

cas4ey commented Nov 3, 2017

Hi @Silveryard
Can you provide the compiler version which causes build error, please?

@cas4ey
Copy link
Collaborator

cas4ey commented Nov 3, 2017

@Silveryard I have tried to build x86 binaries of profiler-core by both Visual Studio 2013 and 2015 and it have been built with no problems.

I have not tried to build profiler_gui though, because I have no x86 Qt binaries, but anyway I recommend to use only x86_64 version of profiler_gui, because it can eat a lot of memory on very big files.

If you are interested I can add x86 binaries of profiler-core only.

@cas4ey
Copy link
Collaborator

cas4ey commented Nov 3, 2017

@Silveryard here you are

@Silveryard
Copy link
Contributor Author

Thank you very much. I have no problem using x86_64 gui binaries. But my projects are currently locked to x86 so I needed 32bit libraries.

For completion my compiler output: https://gist.github.com/Silveryard/0c320cca0c40034ab005913b4dad16b6
As stated it´s an internal compiler error and I could not figure out what the problem was

@cas4ey
Copy link
Collaborator

cas4ey commented Nov 3, 2017

Hm... something bad happened in VS2017 at this line.

It would be cool if you can figure out how to change this source-code for building in VS2017 (I have no VS2017 installed yet). Please, use #if defined(_MSC_VER) && _MSC_VER >= 1910 for the fixes if you will try to fix it.

The idea of this hash class is to use hashing only for those types which sizeof is greater than sizeof(size_t), and this is our case, because sizeof(thread_id_t) == 8 and sizeof(size_t) == 4 for x86 build.

Maybe replacing the line using ::std::hash<T>::operator(); with next code would help:

inline size_t operator () (const T& value) const {
    return ::std::hash<T>::operator(value);
}

@Silveryard
Copy link
Contributor Author

I will try and report back!

@yse yse closed this as completed in 23cf75f Nov 6, 2017
yse added a commit that referenced this issue Nov 6, 2017
@cas4ey cas4ey added this to the Release v1.4.0 milestone Nov 30, 2017
devnoname120 pushed a commit to devnoname120/easy_profiler that referenced this issue Feb 14, 2018
@cas4ey cas4ey modified the milestones: Release v1.4.0, Release v2.0.0 Apr 25, 2018
cas4ey added a commit that referenced this issue Apr 27, 2018
* (#31) Added possibility to save user metrics (a.k.a. arbitrary values)
  * `#include <easy/arbitrary_value.h>`
  * Use `EASY_VALUE("Name", variable_ref);` // See more options at `easy/arbitrary_value.h`
* Added file converter (currently only .prof to .json is supported)
* (#75) There is no need anymore to wait all threads finish their opened frames when dumping blocks to file/stream
* (#81) Added CMake option to choose function names format
* Added CMake option `EASY_PROFILER_NO_GUI` to build without `profiler_gui`
* (#48) Minimized paddings in .prof file header
* Bug fixes
  * Fixed `EASY_ENABLE_ALIGNMENT` build error
  * (#75) Fixed UI freeze when hitting `Cancel` button while transmitting profiled blocks from profiled application to the UI
  * Mac: Added support for building with Apple LLVM clang version < 8.0
    * Add support for building with pre 2016 Apple LLVM clang
    * Automatically detect Apple clang that do not support thread_local
    * Clarify clang thread_local support code comment
  * (#72) Windows: VS2017 build fix
  * Unix: Context switch logger gets the processor cycle counter instead of time of a day
  * Other bug fixes

* (#31) Added arbitrary values viewer
* (#100) Added possibility to zoom in selected region
* (#91) Added possibility to take a snapshot. Now you can save selected area to separate file. Works both with blue selection (hold right mouse button + move) and black ruler (double-click + hold mouse button + move)
* Improved UI styles
* Blocks histogram (under Diagram scene) is now resizeable
* (#89) Added viewport info widget. See [Settings] -> [See viewport info]
* Bug fixes
  * Fixed hierarchy building for zero duration blocks - events and arbitrary values are always visible
  * (#89) Trying to fix high-dpi displays problem (maybe not fixed 😞 )
  * Other bug fixes
@cas4ey cas4ey added the core Issues related to easy_profiler_core label May 30, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug core Issues related to easy_profiler_core resolved
Projects
None yet
Development

No branches or pull requests

3 participants