Commit Graph

1676 Commits

Author SHA1 Message Date
Crzyrndm
ba54f9eaa3 Reduce run-time of benchmark by 16x (160k to 10k cells) 2018-07-29 15:05:21 +12:00
Crzyrndm
e01f461b64 get the initialisation order right
- members reordered to reduce sizeof classes (due to alignment). ctors needed to be updated for this
2018-07-29 14:37:08 +12:00
Crzyrndm
4124dd78e0 Add tests, fix compile error (missing include) 2018-07-29 14:27:49 +12:00
Crzyrndm
9aff73747d range_iterator default ctor 2018-07-29 14:22:35 +12:00
Crzyrndm
475f9f35d0 default ctor for cell iterator 2018-07-29 14:20:29 +12:00
Crzyrndm
6fb90ecf57 default ctor for workbook iterator 2018-07-29 14:12:47 +12:00
Crzyrndm
dd6f338419 Remove memory growth based on row count
- Nested unordered_map was the cause of a significant memory/cell spike.
- added cell_reference hash, lookup by cell_reference to make memory usage proportional to cell count only
2018-07-29 11:43:23 +12:00
Crzyrndm
138c90883b Modify writer benchmark to make comparisons between column and row usage
- Cut time to write a sheet with many rows by not calling highest_row inside a loop over the rows (On^2 -> On)
- Observation: more memory is used / cell as the number of rows increases
2018-07-29 10:11:00 +12:00
Crzyrndm
e350570ae6 Actually build samples + benchmarks on appveyor 2018-07-28 18:13:56 +12:00
Crzyrndm
6a4edfad40 Run documentation samples on Appveyor 2018-07-28 17:59:11 +12:00
Crzyrndm
e0d5cdbd85 Visible segments 2018-07-28 16:36:36 +12:00
Crzyrndm
0fe0c20d2a Cut down on builds executing samples/benchmarks, formatting 2018-07-28 16:26:40 +12:00
Crzyrndm
6b427127ff Add folds to travis log, parameters for img sample 2018-07-28 15:57:18 +12:00
Crzyrndm
ecb71db558 Run samples and benchmarks on CI 2018-07-28 15:38:36 +12:00
Crzyrndm
d93e470a52 Suppress GCC maybe-uninitialized warning
Signal to noise ratio is very high, and the #pragma suppressions for optional aren't working for GCC8
2018-07-28 14:54:49 +12:00
Crzyrndm
ade8cf3b6c Ensure <color tint=...> is correctly serialised as an optional double 2018-07-28 14:44:49 +12:00
Crzyrndm
e1daff535c Better idea, set the defaults 2018-07-28 14:04:22 +12:00
Crzyrndm
d39b7a107a comment default size only set in the overloads which can't set size
- Debatable whether position should receive the same treatment
2018-07-28 13:55:56 +12:00
Thomas Fussell
94faf01b72
Merge pull request #320 from sukoi26/SheetFormatPr
SheetformatPr issue #287
2018-07-24 23:42:51 -04:00
Thomas Fussell
8f39375f4c revert unwise data structure change 2018-07-24 23:08:44 -04:00
Thomas Fussell
cbe50f4681 Fix some issues after merge 2018-07-23 00:13:20 -04:00
Thomas Fussell
0af7ad88e1 Merge branch 'tasmail-master-shared-strings-performance' into dev
remove less than comparators

fix conflicts
2018-07-23 00:10:16 -04:00
Thomas Fussell
8c29ebe738 fix gitbook link/badge (point to legacy for now) 2018-07-22 22:23:01 -04:00
sukoi26
8f4248d9c3
change SheetFormatPr
change "defaultRowHeight" not optional
2018-07-22 18:44:31 +02:00
sukoi26
7be7172ff5
update attribute required
required attribute default_row_height
2018-07-22 16:35:41 +02:00
sukoi26
fe38e01341
Merge pull request #2 from tfussell/dev
Dev
2018-07-21 10:19:19 +02:00
Crzyrndm
dd79946bf0
Merge pull request #309 from Crzyrndm/dev-optional-PR
Optional implementation that doesn't require default constructors
Resolves #300
2018-07-21 13:41:58 +12:00
Crzyrndm
9e981abe05 Only add diagnostics to GCC, Clang doesn't know the warning 2018-07-21 13:30:52 +12:00
Crzyrndm
6562c41ae1 fix typo in Cmake lists 2018-07-21 12:38:33 +12:00
Crzyrndm
fede2d3168 fix Clang CI warnings 2018-07-21 12:33:58 +12:00
Crzyrndm
ad24d9485d Resolve CI warning about using an uninitialised variable 2018-07-21 12:19:15 +12:00
Crzyrndm
b004d0863c address CI build failure
Issue #300
Previous CI fix didn't work, try with type aliasing instead

Issue #300
This reverts commit c87c0e3975.
gcc 6 ok, msvc 14 choked

Issue #300
noexcept(condition) doesn't seem to work on msvs 2015

Issue #300
Merge remote-tracking branch 'origin/dev-optional-no-default-ctor' into dev-resolve-simple-issues
ensure uniqueness (uglify) and undefine compatibility macro
2018-07-21 12:19:15 +12:00
Crzyrndm
07d648fe8b Implementation of optional using std::aligned_storage
Issue #300
-- test for no default constructor required enabled
-- Passes all tests locally
2018-07-21 12:19:15 +12:00
Crzyrndm
34e8f274de optional exception check, primarily adding noexcept to signatures
-- also reordered the assignments in set/clear to ensure "has_value_" doesn't change if the assignment operator of T throws
2018-07-21 12:19:15 +12:00
Crzyrndm
ad69e7bf11 test for overloaded operator=(T)
Issue #300
2018-07-21 12:19:14 +12:00
Crzyrndm
eda102ee9d testing current optional implementation against target behaviour
Issue #300
-- NOTE: construction from no_default currently wont compile so is commented out (L:113)
-- NOTE: dll import/export of template classes is probably unnecessary (the header is already required) and doesn't work in the general case (explicit instantiations are required for at least MSVC)
2018-07-21 12:19:14 +12:00
Crzyrndm
761eee3e5f
Merge pull request #314 from Crzyrndm/dev-CI-build-modifications-PR
Travis CI improvements
Resolves #147
2018-07-21 12:04:56 +12:00
Crzyrndm
4dae88f004
Merge pull request #311 from Crzyrndm/dev-unimplemented-functions-PR
Implementations for unimplemented functions
2018-07-21 11:31:25 +12:00
Crzyrndm
f035b9041e
Merge pull request #310 from Crzyrndm/dev-reorder-wb-relations-PR
Resolves #279
2018-07-21 11:13:05 +12:00
Crzyrndm
011ea3a9d2
Merge pull request #315 from sukoi26/bestFit
bestFit change
2018-07-20 17:57:46 +12:00
sukoi26
016c95bb4a
Best fit (#1)
* bestFit change

remove from skip_attributes list

* update bestFit commit 

error compiling  std::vector<std::string>
2018-07-19 14:05:28 +02:00
sukoi26
a2dc4a34f1
update bestFit commit
error compiling  std::vector<std::string>
2018-07-19 13:53:54 +02:00
sukoi26
4f9e8ab37f
bestFit change
remove from skip_attributes list
2018-07-19 12:49:32 +02:00
Crzyrndm
0aee6fd9b1 Cleanup some cmake modifications 2018-07-16 19:41:40 +12:00
Crzyrndm
ad759ae4f7 fix for build failure with GCC8{-std=c++17} 2018-07-16 19:08:19 +12:00
Crzyrndm
b9b47672ea cxx_std_14 and co aren't available until cmake v3.8 2018-07-16 18:52:21 +12:00
Crzyrndm
5671167d1d add cmake option XLNT_CXX_LANG to set the targetted cxx standard
- valid options are 11, 14, and 17
- default is 14
- cmake will error if an invalid value is provided
- requires cmake >= 3.10.* to take effect in visual studio
2018-07-15 21:23:22 +12:00
Crzyrndm
25d75cb5c3 complete the compiler set (gcc 6/7/8 + clang 4/5/6) 2018-07-14 21:27:54 +12:00
Crzyrndm
6b0fb72e78 make benchmarking conditional on other flags (static && release) 2018-07-14 21:13:57 +12:00
Crzyrndm
11573f45e6 Resolve remaining warnings 2018-07-14 20:25:10 +12:00