Thomas Fussell
138fb967bc
improve consistency with previous releases
2020-03-21 14:49:58 -04:00
Thomas Fussell
0a2a618663
Merge pull request #452 from tfussell/automate-releases
...
Automate releases
2020-03-21 14:40:49 -04:00
Thomas Fussell
a07c8c0c10
flesh out package.json [ci skip]
2020-03-21 14:39:22 -04:00
Thomas Fussell
8e451f24e3
empty commit [ci skip]
2020-03-21 14:36:57 -04:00
Thomas Fussell
92577d6cac
update github deploy token
2020-03-21 14:36:45 -04:00
Thomas Fussell
5602edbd2d
add packaging and release deployment workflow
2020-03-21 14:25:39 -04:00
Thomas Fussell
9a18cd9fcd
disable npm
2020-03-21 11:02:03 -04:00
Thomas Fussell
252dd76616
initial implementation
2020-03-21 10:59:00 -04:00
Thomas Fussell
2f5934f60e
Merge pull request #447 from Crzyrndm/feature/benchmark
...
microbenchmarks for double<->string conversion, serialisation improvements
2020-03-20 18:02:37 -04:00
Thomas Fussell
6c52e52487
Merge pull request #451 from amiremohamadi/fix-cell-reference-parsing
...
fix cell reference parsing
2020-03-20 16:16:40 -04:00
amiremohamadi
3af9567946
fix-bug: set absolute flags correctly
2020-03-20 23:08:27 +03:30
amiremohamadi
33a56b3a04
add more tests for absolute and relative column, row forms
2020-03-20 23:06:58 +03:30
JCrawfy
f4d00acb9f
resolve warnings
2020-03-02 13:32:39 +13:00
JCrawfy
e8cb8d9bc6
fix compiler error
2020-03-01 23:23:20 +13:00
JCrawfy
0ea054026f
speedup worksheet::calculate dimension by only looping the cell map once
2020-03-01 23:20:44 +13:00
JCrawfy
c418c13010
remove a double lookup in the cell map during serialisation
2020-03-01 23:18:13 +13:00
JCrawfy
932fc4596f
remove declarations of copy/assignment operators that only do default work
...
user defined copy operators suppress compiler creation of move operations, and not having all of copy/move/dtor
defined (rule of 0/5) is suspicious. Also happens to be very slightly slower
2020-03-01 23:16:57 +13:00
JCrawfy
39f498f401
use the new faster serialisation everywhere in xlsx_producer
2020-03-01 22:01:53 +13:00
JCrawfy
ee593c2673
bug fixes, move the faster serialisation into the numeric header
...
serialisation ends up roughly 2x improvement going from sstream to snprintf
Run on (4 X 3500 MHz CPU s)
CPU Caches:
L1 Data 32K (x4)
L1 Instruction 32K (x4)
L2 Unified 262K (x4)
L3 Unified 6291K (x1)
-------------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-------------------------------------------------------------------------------------------------------------
RandFloatStrs/double_from_string_sstream 968 ns 977 ns 640000
RandFloatStrs/double_from_string_strtod 272 ns 270 ns 2488889
RandFloatStrs/double_from_string_strtod_fixed 272 ns 270 ns 2488889
RandFloatStrs/double_from_string_strtod_fixed_const_ref 273 ns 270 ns 2488889
RandFloatStrs/double_from_string_std_from_chars 193 ns 195 ns 3446154
RandFloatCommaStrs/double_from_string_strtod_fixed_comma_ref 272 ns 273 ns 2635294
RandFloatCommaStrs/double_from_string_strtod_fixed_comma_const_ref 276 ns 273 ns 2635294
RandFloats/string_from_double_sstream 1311 ns 1318 ns 497778
RandFloats/string_from_double_sstream_cached 1076 ns 1050 ns 640000
RandFloats/string_from_double_snprintf 601 ns 600 ns 1120000
RandFloats/string_from_double_snprintf_fixed 600 ns 600 ns 1120000
RandFloats/string_from_double_std_to_chars 117 ns 117 ns 5600000
RandFloatsComma/string_from_double_snprintf_fixed_comma 600 ns 600 ns 1120000
2020-03-01 22:01:14 +13:00
JCrawfy
fbbf7ae767
fix git revert error
2020-03-01 20:46:19 +13:00
JCrawfy
0915fde090
add saving to the spreadsheet-load test, fix a bug in the serialiser
2020-03-01 20:43:56 +13:00
JCrawfy
d135f35bd4
minor cleanup
2020-03-01 20:24:22 +13:00
JCrawfy
a5aca5c212
add the fixed snprintf serialiser
...
Run on (4 X 3500 MHz CPU s)
CPU Caches:
L1 Data 32K (x4)
L1 Instruction 32K (x4)
L2 Unified 262K (x4)
L3 Unified 6291K (x1)
-------------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-------------------------------------------------------------------------------------------------------------
RandFloatStrs/double_from_string_sstream 969 ns 977 ns 640000
RandFloatStrs/double_from_string_strtod 274 ns 270 ns 2488889
RandFloatStrs/double_from_string_strtod_fixed 273 ns 273 ns 2635294
RandFloatStrs/double_from_string_strtod_fixed_const_ref 274 ns 276 ns 2488889
RandFloatStrs/double_from_string_std_from_chars 193 ns 193 ns 3733333
RandFloatCommaStrs/double_from_string_strtod_fixed_comma_ref 273 ns 267 ns 2635294
RandFloatCommaStrs/double_from_string_strtod_fixed_comma_const_ref 273 ns 273 ns 2635294
RandFloats/string_from_double_sstream 1323 ns 1311 ns 560000
RandFloats/string_from_double_sstream_cached 1074 ns 1074 ns 640000
RandFloats/string_from_double_snprintf 519 ns 516 ns 1000000
RandFloats/string_from_double_snprintf_fixed 517 ns 516 ns 1000000
RandFloats/string_from_double_std_to_chars 118 ns 117 ns 5600000
RandFloatsComma/string_from_double_snprintf_fixed_comma 520 ns 516 ns 1120000
2020-02-29 23:10:38 +13:00
JCrawfy
7ba36b5e73
fix dumb bug in input randomiser, add basic double->string benchmarks
...
* input randomiser was feeding a constant value previously, now actually randomising
* start to_string with the current method (sstream), an faster more correct version (sstream_cached), snprintf, and std::to_chars
** NOTE: only std::to_chars and sstream_cached are correct in the face of locales
Run on (4 X 3500 MHz CPU s)
CPU Caches:
L1 Data 32K (x4)
L1 Instruction 32K (x4)
L2 Unified 262K (x4)
L3 Unified 6291K (x1)
-------------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-------------------------------------------------------------------------------------------------------------
RandFloatStrs/double_from_string_sstream 1012 ns 1001 ns 640000
RandFloatStrs/double_from_string_strtod 276 ns 276 ns 2488889
RandFloatStrs/double_from_string_strtod_fixed 312 ns 308 ns 2133333
RandFloatStrs/double_from_string_strtod_fixed_const_ref 307 ns 300 ns 2240000
RandFloatStrs/double_from_string_std_from_chars 194 ns 188 ns 3733333
RandFloatCommaStrs/double_from_string_strtod_fixed_comma_ref 315 ns 314 ns 2240000
RandFloatCommaStrs/double_from_string_strtod_fixed_comma_const_ref 306 ns 305 ns 2357895
RandFloats/string_from_double_sstream 1372 ns 1381 ns 497778
RandFloats/string_from_double_sstream_cached 1136 ns 1123 ns 640000
RandFloats/string_from_double_snprintf 536 ns 516 ns 1000000
RandFloats/string_from_double_std_to_chars 116 ns 115 ns 6400000
2020-02-29 22:59:25 +13:00
JCrawfy
0adb8a69b1
add micro benchmarking project, setup number parsing benchmark
...
relating to previous work https://github.com/tfussell/xlnt/issues/422
Results are matching what was observed at the time ^^ was being worked on
std::from_chars is included as the target to beat, but since only MSVC has it for floating point it's not
hugely useful yet
uniform real distribution is probably a horrible choice, and it might be good to randomise the number
of sf in each string also (currently the y all end up at max length)
Run on (4 X 3500 MHz CPU s)
CPU Caches:
L1 Data 32K (x4)
L1 Instruction 32K (x4)
L2 Unified 262K (x4)
L3 Unified 6291K (x1)
----------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
----------------------------------------------------------------------------------------------------------
RandFloats/double_from_string_sstream 804 ns 820 ns 896000
RandFloats/double_from_string_strtod 163 ns 162 ns 5973333
RandFloats/double_from_string_strtod_fixed 175 ns 172 ns 5352107
RandFloats/double_from_string_strtod_fixed_const_ref 150 ns 152 ns 5352107
RandFloats/double_from_string_std_from_chars 87.1 ns 88.3 ns 9557333
RandFloatsComma/double_from_string_strtod_fixed_comma_ref 172 ns 173 ns 5146257
RandFloatsComma/double_from_string_strtod_fixed_comma_const_ref 180 ns 175 ns 5352107
2020-02-29 22:11:31 +13:00
Thomas Fussell
ae6f9d2324
Merge pull request #446 from adamhooper/issue-445
...
Parse inlineStr values
2020-02-26 13:28:46 -05:00
Adam Hooper
ac18fc6dde
Parse inlineStr values
...
inlineStr XML structure is <c><is><t>. This was being parsed incorrectly
when streaming (because has_value wasn't being set to true) and when
reading the whole file (because the <t> was ignored).
[closes #445 ]
2020-02-25 14:32:14 -05:00
Thomas Fussell
0d1d85f181
Merge pull request #432 from tfussell/format
...
Format, update dependencies, fix warnings
2020-02-08 13:36:26 -05:00
Thomas Fussell
e8ee585897
bump copyright year to 2020
2020-02-08 12:12:59 -05:00
Thomas Fussell
5a2498c229
fix windows build
2020-02-08 12:09:22 -05:00
Thomas Fussell
53b2853ae3
Merge branch 'master' into format
2020-02-08 12:03:40 -05:00
Thomas Fussell
85e6878cc4
bump version to 1.4 to match latest release, for #334
2020-02-08 11:48:50 -05:00
Thomas Fussell
39503e8bf0
fix warnings and other minor issues
2019-12-26 12:52:14 -05:00
Thomas Fussell
1a0c61f5b0
update utfcpp to 3.1
2019-12-26 12:51:52 -05:00
Thomas Fussell
8014e2fe19
update miniz to 2.1, move to third-party
2019-12-26 12:51:02 -05:00
Thomas Fussell
54e7c1df3d
update libstudxml to 1.1.0-b.8
2019-12-26 12:49:05 -05:00
Thomas Fussell
fcc2f0dddf
bump version to 1.4
2019-12-26 12:13:29 -05:00
Thomas Fussell
a560756b35
use clang-format, fix some small warnings
2019-12-26 12:03:12 -05:00
Thomas Fussell
dbc0ddd9bf
Merge pull request #413 from mattparks/patch-1
...
Check for existing uninstall target before creating.
2019-12-19 17:07:00 -05:00
Thomas Fussell
e2262a0c65
Merge pull request #421 from Crzyrndm/experimental/sheet-data-parser
...
Accelerated worksheet parsing
2019-12-19 16:24:51 -05:00
Thomas Fussell
edb27e84f8
Merge pull request #425 from yschungmr/hotfix/gcc-5-build-bug
...
Fixed gcc 5 build bug
2019-12-19 16:13:48 -05:00
Johann1994
d6262df555
Shared strings
...
It can happen that some strings are not unique in sharedstring table
2019-12-18 13:53:23 +01:00
Johann1994
49663bc483
Sharedstringtable
...
Same strings in shared stringtable makes it not possible to open a xlsx file.
2019-12-18 13:50:34 +01:00
Youngsuk Chung
8e2f197f70
Fix indentation
2019-12-09 14:52:07 +09:00
Youngsuk Chung
c8bda73f01
Fix g++-5 build bug ( Fix #385 )
...
Tested on g++ (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609
Note: Actually,it is not a BUG. It is compiler related issue. The issue #385 is not shown in g++-6 and clang.
2019-12-09 14:46:12 +09:00
JCrawfy
f2ad495326
resolve warnings, remove failing test (CI doesn't know what locale "de-DE" is?)
2019-11-18 21:45:46 +13:00
JCrawfy
613d7b6086
add missing include
2019-11-18 21:39:33 +13:00
JCrawfy
97841413fa
fixed more parsing errors, added test for ',' locale serialisation (it fails...)
2019-11-18 21:12:21 +13:00
JCrawfy
a25187f788
fix using attribute<double> (causes bugs when '.' is not the decimal separator
2019-11-18 20:46:34 +13:00
JCrawfy
7621b2807a
fix wrong iterator bug
2019-11-18 20:43:58 +13:00