Comments (6)
FWIW I have a port for Windows based on the pthread library at http://locklessinc.com/downloads/ (BSD 3-clause). Not quite ready for a pull request, but getting there.
from benchmark.
#64 has landed which gives us a working mingw port. does that help?
from benchmark.
@dominichamon, I tried having a go at getting VS2013 up and going but there are a few things missing with the C++11 support. I'll just brain dump here in case anyone can pick it up:
- gettimeofday needs to be polyfilled in
walltime.cc
(gm|local)time_r
needs to be changed for(gm|local)time_s
. arguments to swap over.constexpr
support is sketchy so things don't compilenoexcept
wasn't supportedCMakeList.txt
needsif (MSVC)
to avoid all the GCC/Clang flag checks (not an issue as they fail gracefully, just looks weird)- By default
cmake
adds/Wall
which turns on warnings that even the STL that is shipped with Visual Studio doesn't compile with. I'd suggest starting with/W0
and slowly cranking that up to/W4
putting the necessary/wdXXXX
in theCMakeList.txt
or thepragma warning()
around the offending areas. It would be great to have a clean MSVC build at high warning levels as it might catch things that GCC/Clang might miss
It's almost there, just needs a bit of love. cmake -G "Visual Studio 12 2013"
gets things going.
Once the Visual Studio build is going the appveyor support to continuously check for MSVC support can be added by implementing msbuild
like cppformat
does here. Will just have to add the necessary lines to appveyor.yml
when if "%compiler_name%"=="msvc"
.
from benchmark.
Relate to PR #175
from benchmark.
Closing since the Windows build seems to be working and Appveyor is testing it on every commit.
from benchmark.
Super cool! Thank you!
from benchmark.
Related Issues (20)
- [BUG] DoNotOptimize build break with GCC HOT 2
- [FR] Provide current benchmark information
- Failed to build HOT 5
- [FR] Consider adding extra info to the reducing variance doc relating to CPU frequency scaling
- [BUG] Reducing variance doc incorrectly recommends disabling hyper threading AND pinning CPU frequency scaling?
- [BUG] [Python] Editable pip installs do not work HOT 1
- [BUG] Not able to benchmark on MacOS M1 laptop (compilation error) HOT 4
- how do you use benchmark::RegisterBenchmark but with a fixtured benchmark that was previously defined using BENCHMARK_DEFINE_F(FixtureClass, MethodName)[BUG] HOT 5
- regex match specific benchmark names HOT 1
- [BUG] Missing `\n` at the End of Console Output HOT 2
- [FR] Enforce CMake to find PFM or fail when `BENCHMARK_ENABLE_LIBPFM` is `ON` HOT 2
- [BUG] QNX compilation failure on v1.8.3. Patch suggestion. HOT 2
- [BUG] mismatch of macro name for cmake
- [FR] Define HOST_NAME_MAX for z/OS HOT 1
- [FR] Add z/OS case to ThreadCPUUsage to avoid error HOT 1
- [BUG] fail to import gbench into compare.py with bazel and python3.12
- [FR] Large File Support HOT 5
- [FR] Support Win32 on Windows HOT 1
- [BUG] Console created through AllocConsole does not receive colored output HOT 3
- [BUG] Result of run with --benchmark_list_tests=true may not show on console
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from benchmark.