胡剑波
e8dd38d0d6
Fix throwing exception when duplicate shared strings occur.
2020-08-25 15:08:20 +08:00
Thomas Fussell
3c7122a78c
Merge pull request #490 from 50ty/patch-2
...
Fix XLNT_INCLUDE_INSTALL_DIR
2020-08-20 14:59:22 -04:00
Stefan Rommel
cdb50bbd6b
Fix XLNT_INCLUDE_INSTALL_DIR
...
Otherwise, XLNT_INCLUDE_INSTALL_DIR is not set correctly and find_package(Xlnt) results to an error:
```
CMake Error at /usr/lib64/cmake/xlnt/XlntConfig.cmake:23 (message):
File or directory include referenced by variable XLNT_INCLUDE_DIR does not
exist !
Call Stack (most recent call first):
/usr/lib64/cmake/xlnt/XlntConfig.cmake:41 (set_and_check)
CMakeLists.txt:4 (find_package)
```
The content of the line 41 of /usr/lib64/cmake/xlnt/XlntConfig.cmake is: `set_and_check(XLNT_INCLUDE_DIR "include")`.
I'm using the Arch Linux user repository package https://aur.archlinux.org/packages/xlnt/ .
The used build manual is described here: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=xlnt .
2020-07-16 21:29:06 +02:00
Thomas Fussell
8d2a8e161b
Merge pull request #467 from Crzyrndm/experimental/serialisation
...
locale aware double->string conversions
2020-06-08 19:40:08 -04:00
JCrawfy
06801f7d36
derp, need typename too
2020-04-26 15:54:49 +12:00
JCrawfy
6c5a5a5dae
and same issue with is_convertible
2020-04-26 15:49:05 +12:00
JCrawfy
f1042c5119
enable_if_t isn't a thing in C++11
2020-04-26 15:47:53 +12:00
JCrawfy
504fed3585
another missing header
2020-04-26 15:40:56 +12:00
JCrawfy
9d9d5de511
add missing include
2020-04-26 15:27:51 +12:00
JCrawfy
556d3358e9
fix bad commit
2020-04-26 14:53:15 +12:00
JCrawfy
d30e705f83
fix most (all?) the places where string<->double conversions are performed
...
strod / stod / to_string and all related friends are dependant on current locale for how they format a number
2020-04-25 14:00:58 +12:00
JCrawfy
dfb8f1518e
Revert "redo serialisation by using a sorted vector instead of a lookup for each possible row/column combination"
...
This reverts commit 63484f8b8f
.
2020-04-25 11:15:23 +12:00
JCrawfy
63484f8b8f
redo serialisation by using a sorted vector instead of a lookup for each possible row/column combination
...
Not tested, definitely not as correct as previous implementation
2020-04-25 11:00:39 +12:00
JCrawfy
9136d21845
move the simplified cell_reference and cell structs out to a header
...
the standard xlnt::cell and xlnt::cell_reference have plenty of extra functionality that just slows things down during (de)serialisation
These intermediate structs can be used to minimise overhead before transforming to the final type
2020-04-25 11:00:39 +12:00
JCrawfy
1069c17fbe
fixup comment in parser
2020-04-25 11:00:39 +12:00
JCrawfy
e8e29e9c18
resolve some warnings (unintialised variables), remove warning suppression
2020-04-25 11:00:39 +12:00
Thomas Fussell
d1d9553d4e
Merge pull request #454 from Tectu/master
...
Remove superfluous semicolon
2020-03-25 14:16:20 -04:00
Joel Bodenmann
4e0333ac91
Remove superfluous semicolon
2020-03-25 13:16:02 +01:00
Thomas Fussell
568ac85346
release v1.5.0
2020-03-21 15:19:37 -04:00
Thomas Fussell
05fb0ceaf6
revert version bump
2020-03-21 15:18:59 -04:00
Thomas Fussell
80b94549a7
edit version bump path
2020-03-21 15:16:20 -04:00
Thomas Fussell
7c0d64248c
move release files to root for now
2020-03-21 15:15:32 -04:00
Thomas Fussell
b118d8f1f2
bump version to 1.5.0
2020-03-21 15:13:22 -04:00
Thomas Fussell
7e1e8cb1a1
release v1.5.0
2020-03-21 14:58:12 -04:00
Thomas Fussell
c3a1f1da95
fix release name
2020-03-21 14:57:06 -04:00
Thomas Fussell
0f178e46c8
fix release title
2020-03-21 14:52:26 -04:00
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