8 years agoShadauxCat commented on review 20959 (UnitTests_ConcurrentQueue.cpp, line 21) for shadauxcat-libsprawl:mainline This is "whatever arbitrary value I want to use right now" until I get a better unit test framework for this. The eventual goal will be to test scalab ...This is "whatever arbitrary value I want to use right now" until I get a better unit test framework for this. The eventual goal will be to test scalability by starting at 1 thread and moving up one at a time to 64 threads and verify throughput goes up at least up to hardware_concurrency(). These unit tests are kind of hacky right now so I need to rework them entirely. « | ||
2 comments | ||
8 years agoShadauxCat commented on review 20952 (StringBuilder.cpp, line 7) for shadauxcat-libsprawl:mainline I'll fix this when I get around to actually using it. | ||
8 years agoShadauxCat commented on review 20952 (PoolAllocator.hpp, line 67) for shadauxcat-libsprawl:mainline This is a stop-gap measure anyway. This class is going to be reworked so that there's a set number of instances of it (one for each power of 2 up to 2 ...This is a stop-gap measure anyway. This class is going to be reworked so that there's a set number of instances of it (one for each power of 2 up to 2048) and they're all instantiated in a cpp file, and the pool allocator will always initialize to the one with the closest power of 2 to the amount requested, so initialization order won't be an issue. And anything larger than 2048 will be serviced directly by mmap/VirtualAlloc. And with that I can write a general allocator that can pick the right pool allocator based on a size passed to it at runtime and all will be happy gilmore. « | ||
8 years agoShadauxCat commented on review 20952 (ConcurrentQueue.hpp, line 92) for shadauxcat-libsprawl:mainline This class has been removed in the most recent review, so flaws with it don't matter. But I wanted access to a raw pointer, not a reference, so I brok ...This class has been removed in the most recent review, so flaws with it don't matter. But I wanted access to a raw pointer, not a reference, so I broke convention to suit my use case. « | ||
8 years agoShadauxCat commented on review 20952 (ConcurrentQueue.hpp, line 78) for shadauxcat-libsprawl:mainline This class has been removed in the most recent review, so flaws with it don't matter. | ||
8 years agoShadauxCat commented on review 20952 (UnitTests_ConcurrentQueue.cpp, line 197) for shadauxcat-libsprawl:mainline Also this ASSERT_FALSE() is explicitly testing that there's nothing in the queue. The value of i is never read and never initialized in this case but ...Also this ASSERT_FALSE() is explicitly testing that there's nothing in the queue. The value of i is never read and never initialized in this case but it doesn't matter; the thing that matters is that the return value is false (meaning it could not dequeue and i was not touched) « | ||
8 years agoShadauxCat commented on review 20952 (UnitTests_ConcurrentQueue.cpp, line 197) for shadauxcat-libsprawl:mainline The parameter to Dequeue() is an out parameter. It doesn't need to be initialized. It's initialized by Dequeue(). | ||
8 years agoShadauxCat commented on review 20952 (UnitTests_ConcurrentQueue.cpp, line 138) for shadauxcat-libsprawl:mainline Performance tests are flaky. I don't want to leave them enabled on the build machine but I'm leaving them here for my own reference while I'm working ...Performance tests are flaky. I don't want to leave them enabled on the build machine but I'm leaving them here for my own reference while I'm working on it. They're never going to be 100% reliable because scheduling and any number of things can cause abnormalities in performance results. « | ||
8 years agoShadauxCat commented on review 20952 (UnitTests_ConcurrentQueue.cpp, line 15) for shadauxcat-libsprawl:mainline They're there so I can easily disable them when I'm focusing on debugging just one test. Without having to edit project files each time to change the ...They're there so I can easily disable them when I'm focusing on debugging just one test. Without having to edit project files each time to change the --gtest_filter. They're for my conveninece and I'll get rid of them some day, but not right now. « | ||
8 years agoShadauxCat requested review 20959 for shadauxcat-libsprawl:mainline New memory management startegy for ConcurrentQueue that eliminates the need for traditional reference counting and now uses a decrement-only counter t...o reliably clean up memory without stomping on any other threads. The removal of the reference counting, and the movement of the buffer capacity check to a member variable on the queue itself, has resulted in a performance increase of roughly 20-25% and eliminated a very rare accounting error. Also cleaned up the comments and removed a commented-out alternative implementation of Dequeue(). #review post-commit « | ||
8 years agoShadauxCat committed change 20958 into shadauxcat-libsprawl:mainline New memory management startegy for ConcurrentQueue that eliminates the need for traditional reference counting and now uses a decrement-only counter t...o reliably clean up memory without stomping on any other threads. The removal of the reference counting, and the movement of the buffer capacity check to a member variable on the queue itself, has resulted in a performance increase of roughly 20-25% and eliminated a very rare accounting error. Also cleaned up the comments and removed a commented-out alternative implementation of Dequeue(). #review post-commit « | ||
8 years agoShadauxCat requested review 20952 for shadauxcat-libsprawl:mainline - Reworked ConcurrentQueue::Dequeue to be a lot faster and wait-free - Added constexpr constructor for sprawl tag - Added support for specifying base... for int-to-tag conversion - Added ability to force poolallocator to pass through to malloc - Added a helper class that will eventually be used in StringBuilder for faster int-to-string conversion #review post-commit « | ||
8 years agoShadauxCat committed change 20951 into shadauxcat-libsprawl:mainline - Reworked ConcurrentQueue::Dequeue to be a lot faster and wait-free - Added constexpr constructor for sprawl tag - Added support for specifying base... for int-to-tag conversion - Added ability to force poolallocator to pass through to malloc - Added a helper class that will eventually be used in StringBuilder for faster int-to-string conversion #review post-commit « | ||
9 years agoShadauxCat requested review 19913 for shadauxcat-libsprawl:mainline Fix various linux warnings and errors under clang 3.6 | ||
9 years agoShadauxCat committed change 19912 into shadauxcat-libsprawl:mainline Fix various linux warnings and errors under clang 3.6 | ||
9 years agoShadauxCat requested review 19911 for shadauxcat-libsprawl:mainline | ||
9 years agoShadauxCat committed change 19910 into shadauxcat-libsprawl:mainline | ||
9 years agoShadauxCat requested review 19909 for shadauxcat-libsprawl:mainline | ||
9 years agoShadauxCat committed change 19908 into shadauxcat-libsprawl:mainline | ||
9 years agoShadauxCat requested review 19907 for shadauxcat-libsprawl:mainline - Added tag, compile time string type - Since tag requires visual studio 2015, removed compatibility code for earlier versions of visual studio - Imp...roved compiler detection - Added endianness detection - Added template if/else helper - Fixed bug with murmur3 64 bit - Added seed argument for murmur3 « | ||
9 years agoShadauxCat committed change 19906 into shadauxcat-libsprawl:mainline - Added tag, compile time string type - Since tag requires visual studio 2015, removed compatibility code for earlier versions of visual studio - Imp...roved compiler detection - Added endianness detection - Added template if/else helper - Fixed bug with murmur3 64 bit - Added seed argument for murmur3 « | ||
9 years agoShadauxCat commented on review 18284 (_gui.py, line 2531) for shadauxcat-csbuild:brandon-m-bare I may be wrong on this. But I think python 3 could just create this as b"▴ Output ▴" instead of making str and the converting to bytes. Though that ma ...I may be wrong on this. But I think python 3 could just create this as b"▴ Output ▴" instead of making str and the converting to bytes. Though that may not simplify anything here. I think we really need to make a utility function somewhere to take str input and output str in python2 and bytes in python3 instead of boilerplating this everywhere. « | ||
9 years agoShadauxCat approved review 17242 for shadauxcat-csbuild:brandon-m-bare -- Changed the default value for the stdLib to an empty string and preventing it from being passed in the gcc toolchain unless it's explicitly set in... the makefile. -- Moved the objc abi version arg in the gcc toolchain to the extended command method and now not passing it if the input file is not an objective c/c++ file. -- Updated the README and setup.py. -- Fixed an out-of-date error message. -- Fixed a string in the gui, making it more consistent with our usage pattern for unicode strings. #review @ShadauxCat « | ||
9 years agoShadauxCat committed change 17221 into shadauxcat-csbuild:mainline Merging using ShadauxCat.csbuild-brandon_m_bare | ||
9 years agoShadauxCat approved review 16650 for shadauxcat-csbuild:brandon-m-bare Fixed the issues that were causing the profile window and context menu to hang the entire gui when running pyqt5 under python3. #review @ShadauxCa...t « | ||
9 years agoShadauxCat approved review 16856 for shadauxcat-csbuild:brandon-m-bare | ||
9 years agoShadauxCat requested revisions to review 16884 for shadauxcat-csbuild:brandon-m-bare -- Added /usr/local/include as a default include directory to the gcc_darwin toolchain. -- Added the ability to have default library directories in th...e gcc_darwin toolchain along with the initial defaults of /usr/lib and /usr/local/lib. #review @ShadauxCat « | ||
9 years agoShadauxCat opened an issue on review 16884 (toolchain_gcc_darwin.py, line 288) for shadauxcat-csbuild:brandon-m-bare ...shouldn't this be "extend(libraryDirs)"? Cause this will just add each character in the library name to the list... ......and you could shortcut t ......shouldn't this be "extend(libraryDirs)"? Cause this will just add each character in the library name to the list... ......and you could shortcut that by appendLibDirs = list(libraryDirs) « | ||
9 years agoShadauxCat commented on review 16884 (toolchain_gcc_darwin.py, line 288) for shadauxcat-csbuild:brandon-m-bare ...shouldn't this be "extend(libraryDirs)"? Cause this will just add each character in the library name to the list... ......and you could shortcut t ......shouldn't this be "extend(libraryDirs)"? Cause this will just add each character in the library name to the list... ......and you could shortcut that by appendLibDirs = list(libraryDirs) « | ||
9 years agoShadauxCat approved review 16822 for shadauxcat-csbuild:brandon-m-bare I have two words for this code: | ||
9 years agoShadauxCat commented on review 16769 (compat.hpp, line 64) for shadauxcat-libsprawl:mainline Nope, that's why the line below it checks for _Debug and the comment above explains the order of checking. :P | ||
9 years agoShadauxCat commented on review 16769 (UnitTests_Exceptions.cpp, line 30) for shadauxcat-libsprawl:mainline maybe, don't know, don't really care that much for tests. | ||
9 years agoShadauxCat commented on review 16769 (UnitTests_Exceptions.cpp, line 30) for shadauxcat-libsprawl:mainline I would love to, but constructor for a local struct cannot access auto-scope variables. | ||
9 years agoShadauxCat requested review 16769 for shadauxcat-libsprawl:mainline Improvements to error handling in builds with exceptions disabled: - In debug builds or with SPRAWL_ERRORSTATE_STRICT enabled, ErrorState will output... a message to stderr and terminate if Get() is called when an error flag is set. (In release buils or with SPRAWL_ERRORSTATE_PERMISSIVE defined, Get() will return junk memory in this case.) - In debug builds or with SPRAWL_ERRORSTATE_STRICT enabled, ErrorState will output a message to stderr and terminate if its destructor is called without checking the errorstate if an error is present (equivalent to an exception terminating the application if no catch() block is present for it). - On linux builds and when running "Analyze" through visual studio, a warning will be issued if any function returning ErrorState has its return value ignored. (This only applies to builds with exceptions not enabled; when exceptions are enabled no warning is issued) - Many functions that could return ErrorState were having their return values silently ignored in internal sprawl code so the user would not find out about errors if exceptions are disabled; now anything in sprawl code that calls a function returning ErrorState will either handle the error, or (in most cases) surface it back up to the user. - As a positive side-effect of the warnings for ignoring ErrorState, several constructors that were capable of throwing exceptions are no longer capable of doing so. « | ||
9 years agoShadauxCat committed change 16768 into shadauxcat-libsprawl:mainline Improvements to error handling in builds with exceptions disabled: - In debug builds or with SPRAWL_ERRORSTATE_STRICT enabled, ErrorState will output... a message to stderr and terminate if Get() is called when an error flag is set. (In release buils or with SPRAWL_ERRORSTATE_PERMISSIVE defined, Get() will return junk memory in this case.) - In debug builds or with SPRAWL_ERRORSTATE_STRICT enabled, ErrorState will output a message to stderr and terminate if its destructor is called without checking the errorstate if an error is present (equivalent to an exception terminating the application if no catch() block is present for it). - On linux builds and when running "Analyze" through visual studio, a warning will be issued if any function returning ErrorState has its return value ignored. (This only applies to builds with exceptions not enabled; when exceptions are enabled no warning is issued) - Many functions that could return ErrorState were having their return values silently ignored in internal sprawl code so the user would not find out about errors if exceptions are disabled; now anything in sprawl code that calls a function returning ErrorState will either handle the error, or (in most cases) surface it back up to the user. - As a positive side-effect of the warnings for ignoring ErrorState, several constructors that were capable of throwing exceptions are no longer capable of doing so. « | ||
9 years agoShadauxCat approved review 16633 for shadauxcat-csbuild:brandon-m-bare -- Fixed the GUI not working correctly when only warnings and errors from the linker would be present during a build. -- Fixed QtMessageBox not being... aliased for pyqt5. #review @ShadauxCat « | ||
9 years agoShadauxCat approved review 16363 for shadauxcat-csbuild:brandon-m-bare -- Added additional command line arguments for osx and ios for overriding the target versions to compile against. -- Added assertions on setting the... target version for osx and ios to validate the selected version is actually installed. #review @ShadauxCat « | ||
9 years agoShadauxCat commented on review 16363 (toolchain_gcc.py, line 340) for shadauxcat-csbuild:brandon-m-bare I'm not saying call it fewer times, I'm saying decrease code deduplication by having csbuild call it itself instead of repeating this same pattern ove ...I'm not saying call it fewer times, I'm saying decrease code deduplication by having csbuild call it itself instead of repeating this same pattern over and over in every toolchain. « | ||
9 years agoShadauxCat commented on review 16363 (toolchain_gcc.py, line 340) for shadauxcat-csbuild:brandon-m-bare This can be a future TODO, just make a card for it on the Trello. | ||
9 years agoShadauxCat commented on review 16363 (toolchain_gcc.py, line 340) for shadauxcat-csbuild:brandon-m-bare We should really hoist the call to setupForProject into the core logic since it keeps getting repeated so often. Actually, I take that back. All thes ...We should really hoist the call to setupForProject into the core logic since it keeps getting repeated so often. Actually, I take that back. All these setupForProject things should be toolchain postPrepareBuild steps. « | ||
9 years agoShadauxCat requested review 16381 for shadauxcat-libsprawl:mainline Missed a header, also corrected missing newline in exceptions.hpp, also corrected exceptions.hpp being exceptions.h. | ||
9 years agoShadauxCat committed change 16380 into shadauxcat-libsprawl:mainline Missed a header, also corrected missing newline in exceptions.hpp, also corrected exceptions.hpp being exceptions.h. | ||
9 years agoShadauxCat requested review 16379 for shadauxcat-libsprawl:mainline New exception framework, phase one. Added new class, ErrorState, for handling errors when exceptions are disabled. When exceptions are enabled, Err...orState<T> is an alias for T. When they're disabled, ErrorState<T> additionally encodes an error code, and will have junk data (and probably a crash) if an error is returned and not checked before the data is used. ErrorState<T> is implicitly convertible to and from T, so applications that don't care about errors can code like they don't exist... Phase two will involve overloading operators on ErrorState so that things that return ErrorState can still function as much as possible like they do when exceptions are enabled. « | ||
9 years agoShadauxCat committed change 16378 into shadauxcat-libsprawl:mainline New exception framework, phase one. Added new class, ErrorState, for handling errors when exceptions are disabled. When exceptions are enabled, Err...orState<T> is an alias for T. When they're disabled, ErrorState<T> additionally encodes an error code, and will have junk data (and probably a crash) if an error is returned and not checked before the data is used. ErrorState<T> is implicitly convertible to and from T, so applications that don't care about errors can code like they don't exist... Phase two will involve overloading operators on ErrorState so that things that return ErrorState can still function as much as possible like they do when exceptions are enabled. « | ||
9 years agoShadauxCat voted up review 16307 for shadauxcat-csbuild:brandon-m-bare Added the NsightTegraUpgradeOnceWithoutPrompt element to the Visual Studio project generator when generating for Android. This should hypothet...ically suppress the upgrade prompt for older project versions, but as of Nsight Tegra 3.1, it doesn't seem to work. Keeping it in since it seems reasonable that nvidia will fix that on their end. #review @ShadauxCat « | ||
9 years agoShadauxCat voted down review 16307 for shadauxcat-csbuild:brandon-m-bare Added the NsightTegraUpgradeOnceWithoutPrompt element to the Visual Studio project generator when generating for Android. This should hypothet...ically suppress the upgrade prompt for older project versions, but as of Nsight Tegra 3.1, it doesn't seem to work. Keeping it in since it seems reasonable that nvidia will fix that on their end. #review @ShadauxCat « | ||
9 years agoShadauxCat voted up review 16307 for shadauxcat-csbuild:brandon-m-bare Added the NsightTegraUpgradeOnceWithoutPrompt element to the Visual Studio project generator when generating for Android. This should hypothet...ically suppress the upgrade prompt for older project versions, but as of Nsight Tegra 3.1, it doesn't seem to work. Keeping it in since it seems reasonable that nvidia will fix that on their end. #review @ShadauxCat « | ||
9 years agoShadauxCat voted down review 16307 for shadauxcat-csbuild:brandon-m-bare Added the NsightTegraUpgradeOnceWithoutPrompt element to the Visual Studio project generator when generating for Android. This should hypothet...ically suppress the upgrade prompt for older project versions, but as of Nsight Tegra 3.1, it doesn't seem to work. Keeping it in since it seems reasonable that nvidia will fix that on their end. #review @ShadauxCat « | ||
9 years agoShadauxCat voted up review 16307 for shadauxcat-csbuild:brandon-m-bare Added the NsightTegraUpgradeOnceWithoutPrompt element to the Visual Studio project generator when generating for Android. This should hypothet...ically suppress the upgrade prompt for older project versions, but as of Nsight Tegra 3.1, it doesn't seem to work. Keeping it in since it seems reasonable that nvidia will fix that on their end. #review @ShadauxCat « | ||
9 years agoShadauxCat cleared their vote on review 16307 for shadauxcat-csbuild:brandon-m-bare Added the NsightTegraUpgradeOnceWithoutPrompt element to the Visual Studio project generator when generating for Android. This should hypothet...ically suppress the upgrade prompt for older project versions, but as of Nsight Tegra 3.1, it doesn't seem to work. Keeping it in since it seems reasonable that nvidia will fix that on their end. #review @ShadauxCat « | ||
Change | User | Description | Created | ||
---|---|---|---|---|---|
20653 | ShadauxCat | Concurrent quque different take | 9 years ago | Request Review | |
16767 | ShadauxCat | errorstate improvements back to windows | 9 years ago | Request Review | |
16764 | ShadauxCat | ErrorState improvements | 9 years ago | Request Review | |
16152 | ShadauxCat | <saved by Perforce> | 9 years ago | Request Review | |
16151 | ShadauxCat | <saved by Perforce> | 9 years ago | Request Review | |
16050 | ShadauxCat | libDwarf code for line numbers in backtraces. | 9 years ago | Request Review | |
16027 | ShadauxCat | Unshelved from pending changelist '15981': Unshelved from pending changelist '15655': ... WIPs « |
9 years ago | Request Review | |
15981 | ShadauxCat |
Unshelved from pending changelist '15655': WIPs |
9 years ago | Request Review | |
15890 | ShadauxCat | Concurrent queue implementation | 10 years ago | Request Review | |
15857 | ShadauxCat | <saved by Perforce> | 10 years ago | Request Review | |
15655 | ShadauxCat | WIPs | 10 years ago | Request Review | |
15654 | ShadauxCat | Files needed by new unit tests | 10 years ago | Request Review | |
14888 | ShadauxCat | Logging system improvements: - Changed PrintToFile_Threaded and PrintToFile_ThreadManage...r to RunHandler_Threaded and RunHandler_ThreadManager to take advantage of the thread logic for any handler (including user-provided handlers) - Added backtrace functionality and tested on Windows and Linux. Not tested yet on os x so I'm not checking this in yet. - Added extra macros: LOG_IF, LOG_EVERY_N, LOG_IF_EVERY_N, LOG_FIRST_N, LOG_ONCE, and LOG_ASSERT -Added thread id in log messages, slightly changed default format #review-14889 « |
10 years ago | View Review | |
14821 | ShadauxCat | Last filesystem changes for now | 10 years ago | Request Review | |
14815 | ShadauxCat | More filesystem redux | 10 years ago | Request Review | |
13721 | ShadauxCat | More android work. | 10 years ago | Request Review | |
11987 | ShadauxCat | asdf | 10 years ago | Request Review |
Adjust when notifications are sent to you about reviews that you're associated with (as an author, reviewer, project member or moderator).