86 Commits

Author SHA1 Message Date
Behdad Esfahbod
ed9da8db80 Add benchmarking to __init__
I haven't removed tools/benchmark.py.  Probably should.
Also, improved the timeit parameters over benchmark.py.
2018-09-25 16:05:40 -04:00
Cosimo Lupo
81878eef6b
Bump version: 1.5.0 → 1.5.1.dev0 2018-04-11 12:01:33 +01:00
Cosimo Lupo
7e9043a61e
Release 1.5.0 2018-04-10 21:48:46 +01:00
Cosimo Lupo
5b59be68fb
Bump version: 1.4.1.dev0 → 1.5.0.dev0 2018-04-10 21:25:19 +01:00
Cosimo Lupo
7064562174
Bump version: 1.4.0 → 1.4.1.dev0 2018-01-18 17:07:01 +00:00
Cosimo Lupo
dba25f6059
Release 1.4.0 2018-01-18 17:05:31 +00:00
Cosimo Lupo
ed9080df79
Bump version: 1.3.1.dev0 → 1.4.0.dev0 2018-01-18 16:55:50 +00:00
Cosimo Lupo
fbb41aeb1b Bump version: 1.3.0 → 1.3.1.dev0 2017-10-31 19:57:57 +00:00
Cosimo Lupo
932d030d6f Release 1.3.0 2017-10-31 19:57:00 +00:00
Cosimo Lupo
824a9d22bc Bump version: 1.2.1.dev0 → 1.3.0.dev0 2017-10-31 19:43:56 +00:00
Cosimo Lupo
a9f5d463ae
Bump version: 1.2.0 → 1.2.1.dev0 2017-05-24 19:16:46 +01:00
Cosimo Lupo
611512bd60
Release 1.2.0 2017-05-24 19:16:16 +01:00
Cosimo Lupo
815afa1a5a
Bump version: 1.1.2.dev0 → 1.2.0.dev0 2017-05-24 19:14:23 +01:00
Cosimo Lupo
ee708d097d
Bump version: 1.1.1 -> 1.1.2.dev0 (for real!)
Sorry for all this "bumping" :)
2016-12-16 23:46:25 +00:00
Cosimo Lupo
2290612c50
manually fix up version string after my release script screwed it :( 2016-12-16 23:42:43 +00:00
Cosimo Lupo
077f9efabe
Bump version: 1.1.0 -> 1.1.1.dev0 2016-12-16 23:16:18 +00:00
Behdad Esfahbod
c53ea86826 Use a generator for cubics[]
Not huge fan of it, but shows slight speedup, and is "Pythonic".
2016-08-01 18:10:16 -07:00
Behdad Esfahbod
9db52c9483 Avoid some more work
Saves another 7%.  Somehow I failed to push this to the last batch.
2016-08-01 14:34:41 -07:00
Behdad Esfahbod
17b034c904 In curves_to_quadratic(), avoid some more work
When a curve fails to convert at a certain n, keep increasing n for
this curve until a fit found.  Saves another 7% in the benchmark.
2016-07-29 20:31:38 -07:00
Behdad Esfahbod
06eb980a0c Split off case of n=1 into its own function
Looks like changes like this don't have measurable performance
penalty, but they do help with analyzing profile output to see
which branch (n=1 or n!=1) takes more time.
2016-07-29 20:31:38 -07:00
Behdad Esfahbod
96eb3baa15 Add specialization of split_cubic_into_n() for n=6
...by calling split_cubic_into_three() twice.  Gives another 5..9%
speedup.  The thing is, while higher n values are lower-frequency,
the savings are also bigger.  So the two offset out.
2016-07-29 20:31:38 -07:00
Behdad Esfahbod
6d811003ed Add specialization of split_cubic_into_n() for n=4
...by calling split_cubic_into_two() twice.  Gives another 5% speedup.
2016-07-29 20:31:38 -07:00
Behdad Esfahbod
44235274cd Remove variable that was used once. 2016-07-29 20:31:38 -07:00
Behdad Esfahbod
f899c8ccf8 Combine two more loops
Another 10% speedup.
2016-07-28 17:37:18 -07:00
Behdad Esfahbod
c5a17bb055 Shuffle code in cubic_approx_spline() a bit 2016-07-28 17:10:49 -07:00
Behdad Esfahbod
b305ef49be Another micro-optimization 2016-07-28 16:31:30 -07:00
Behdad Esfahbod
40ebe85d9e Move special-cases of split_cubic_into_n() into it
Surprisingly this doesn't seem to slow down, but also slightly
speed up.
2016-07-28 16:25:58 -07:00
Behdad Esfahbod
ede89847a7 Apply review changes from https://github.com/googlei18n/cu2qu/pull/37 2016-07-28 16:12:00 -07:00
Behdad Esfahbod
223450e8d7 Break out of conversion loop early if a curve fails to convert
Makes the compatible-conversion about 40% faster.
2016-07-28 14:41:33 -07:00
Behdad Esfahbod
54104319f9 Another theoretical optimization 2016-07-28 13:57:17 -07:00
Behdad Esfahbod
de9b9ba3e1 Reduce code duplication 2016-07-28 13:51:11 -07:00
Behdad Esfahbod
77c913ba61 Add keyword-argument hack for 2/3 as well 2016-07-28 13:44:41 -07:00
James Godfrey-Kittle
d87bbe25fd Typo 2016-07-28 12:51:08 -07:00
James Godfrey-Kittle
c0b6ed92e3 Update/add some rudimentary comments 2016-07-28 12:32:29 -07:00
James Godfrey-Kittle
f7b9ebba06 Move error classes, dot function to top of file 2016-07-28 12:12:22 -07:00
James Godfrey-Kittle
5db64c55aa More vertical whitespace
Style guide says two blank lines between top level functions.
2016-07-28 12:09:52 -07:00
James Godfrey-Kittle
152baa88a5 No lines over 80 characters
This meant going back on my horizontal whitespace around operators
stance, but in this case I think it looks better to reduce whitespace
than to break up the line.
2016-07-28 12:07:44 -07:00
James Godfrey-Kittle
65befad036 Update some comments 2016-07-28 12:03:53 -07:00
James Godfrey-Kittle
8dc57da4ae Remove unnecessary parentheses 2016-07-28 12:00:13 -07:00
James Godfrey-Kittle
e5cf42545b Variable names
In some cases these changes were made for clarity, in some cases more
just for consistency. Anyways we should now have mostly consistent and
reasonably clear variable names everywhere.
2016-07-28 11:56:14 -07:00
James Godfrey-Kittle
3225b1e249 No camelcase
I guess this was done for consistency with names in FontTools, but I
gotta say it was bugging me that some functions in this module used
underscores and some used camelcase. Style guide says underscores.
2016-07-28 11:41:42 -07:00
James Godfrey-Kittle
ccb1a73edd Factor before variable when no whitespace
This is just a consistency thing; see code above change.
2016-07-28 11:37:08 -07:00
James Godfrey-Kittle
746873233b More whitespace around binary operators
This is very subjective, but my preference is more whitespace.
Generally the only place I didn't put in whitespace was for
multiplication within statements that also contained additions,
without parentheses.
2016-07-28 11:35:32 -07:00
James Godfrey-Kittle
847d12180b Get rid of unnecessary decimal points
We import division from __future__, so float division happens by
default.
2016-07-28 11:21:47 -07:00
James Godfrey-Kittle
d864619c8b Typo 2016-07-27 16:52:19 -07:00
James Godfrey-Kittle
4d72a44d35 Remove unused code 2016-07-27 16:52:09 -07:00
James Godfrey-Kittle
a91108185f Correct single-segment approximation return 2016-07-27 16:51:45 -07:00
James Godfrey-Kittle
039e35b212 No error returned from API, update tests 2016-07-27 13:21:47 -07:00
Behdad Esfahbod
9a2d4b810a Reduce more work 2016-07-26 16:00:49 -04:00
Behdad Esfahbod
f6daaae2f8 Port dot() product to native complex operations
For reference:
http://www.solitaryroad.com/c606.html
2016-07-26 15:43:38 -04:00