Commit Graph

81 Commits

Author SHA1 Message Date
Paul Dreik af4db55e66
remove trailing whitespace (#1284) 2020-11-03 21:48:09 +01:00
Paul Dreik 9f78559cc8
detect trailing whitespace in a CI job (#1268) 2020-11-03 20:41:19 +01:00
Paul Dreik 265db2e533
fix non ascii sources (#1275)
Master does not build because of non-ascii sources, merging without waiting for CI.
2020-11-01 11:14:01 +01:00
friendlyanon 55281c01fb
Fix unintended Drone CI break (#1266)
* Use 'set -e' as it is portable

* Install git on the i386 images

* Remove CMake PPA from arm64 images

CMake's PPA doesn't actually distribute arm64 binary packages. See
related issues:
https://gitlab.kitware.com/cmake/cmake/-/issues/17923
https://gitlab.kitware.com/cmake/cmake/-/issues/20122

* Use Debian Buster instead of Ubuntu Bionic Beaver

Buster has all the packages in apt that is needed, which is convenient

* Install Clang 6.0 explicitly

Make sure that what gets installed is clang 6.0 as the step name
suggests.
https://packages.debian.org/buster/clang-6.0

* Install CMake from buster-backports

Co-authored-by: friendlyanon <friendlyanon@users.noreply.github.com>
2020-10-30 22:47:40 -04:00
friendlyanon 9f60093b41
Update CMake to at least 3.16 in Drone CI (#1261)
* Add script for CMake PPA

* Call the CMake PPA script in Drone CI

"apt-get update -qq" can be omitted, as that command is already called
by the script to pull in necessary packages for the CMake GPG keys.

* Remove sudo calls in the CMake PPA script

This script is intended to be run in Docker images, where the default
user is already root.

* Use echo instead of printf

* Use /etc/os-release instead of lsb_release

lsd_release could be installed, but os-release is just more convenient
to grab the version code from at this point.

* On Debian images grab CMake from buster-backports

It's not wise to mix Ubuntu PPAs with Debian and buster-backports has
CMake 3.16, which is recent enough for our purposes.

Co-authored-by: friendlyanon <friendlyanon@users.noreply.github.com>
2020-10-30 13:55:35 -04:00
John Keiser 9bf9fba2ec Add checkperf to cmake 2020-04-20 11:14:46 -07:00
John Keiser ceb1def55c Add quicktests, slowtests to cmake
- Also add testjson2json.sh
- Move test scripts to tests directory to consolidate concerns
2020-04-09 14:21:45 -07:00
John Keiser 7317fe1440 Don't reinitialize submodules
Add ability to turn competitive benchmarks off (no need for submodules)
2020-04-09 08:52:29 -07:00
John Keiser c1ff74c9a6 Add issue150 test 2020-04-09 08:52:29 -07:00
Daniel Lemire 6a8ec95a46 Various fixes. 2020-03-26 20:08:54 -04:00
Daniel Lemire 772a5dc3d5 Updated script so that we generate a small and a large file. 2020-03-23 14:06:10 -04:00
Paul Dreik 399d08c86c use unique_ptr in class parsedjson (#417)
* refactor parsedjson to use unique_ptr instead of owning raw pointer
* fix a potential undefined behavior
* output only first cpu in /proc/cpuinfo
2019-12-31 14:31:45 -05:00
Daniel Lemire 7e331957c4 Adding ruby script. 2019-12-30 15:07:42 -05:00
John Keiser d7c83397e4 lookup+cont-check algorithm 2019-12-18 14:37:21 -08:00
John Keiser de8df0a05f Combined performance patch (5% overall, 15% stage 1) (#317)
* Allow -f

* Support parse -s (force sse)

* Simplify flatten_bits

- Add directly to base instead of storing variable
- Don't modify base_ptr after beginning of function
- Eliminate base variable and increment base_ptr instead

* De-unroll the flatten_bits loops

* Decrease dependencies in stage 1

- Do all finalize_structurals work before computing the quote mask; mask
  out the quote mask later
- Join find_whitespace_and_structurals and finalize_structurals into
  single find_structurals call, to reduce variable leakage
- Rework pseudo_pred algorithm to refer to "primitive" for clarity and some
  dependency reduction
- Rename quote_mask to in_string to describe what we're trying to
  achieve ("mask" could mean many things)
- Break up find_quote_mask_and_bits into find_quote_mask and
  invalid_string_bytes to reduce data leakage (i.e. don't expose quote bits
  or odd_ends at all to find_structural_bits)
- Genericize overflow methods "follows" and "follows_odd_sequence" for
  descriptiveness and possible lifting into a generic simd parsing library

* Mark branches as likely/unlikely

* Reorder and unroll+interleave stage 1 loop

* Nest the cnt > 16 branch inside cnt > 8
2019-10-01 12:01:08 -04:00
John Keiser f7e893667d Use simd_input generic methods for utf8 checking (#301)
* Use generic each/reduce in simdutf8check

* Remove macros from generic simd_input uses

* Use array instead of members to store simd registers

* Default local checkperf to clone from .
2019-09-02 12:46:05 -04:00
John Keiser cf4ae61ac6 Modify checkperf to print out perfdiff command
to make it easier to run it yourself without having to recompile the
world
2019-08-26 09:46:49 -07:00
John Keiser c8d50a6060 Make perf validation more stable, check no-AVX as well (#275)
* Compare against v0.2.1, fail only if perf is less 6 times in a row

* Run AVX and no-AVX perf tests in Circle CI

* Set % difference threshold to 0.2%
2019-08-15 20:43:21 -04:00
John Keiser 875e2f9d0d check for performance degradation in CI (#270)
* Add -n and -w arguments

* Add Dockerfile that compares perf against master

* Add checkperf to .drone.yml

* Clone from github instead of .git since CI doesn't have .git
2019-08-12 16:03:56 -04:00
Daniel Lemire 47c6490115 Tweaking makefile. 2019-07-11 11:54:17 -04:00
Daniel Lemire 3c1638c046
We no longer need this old stuff. (#214) 2019-07-09 22:04:02 -04:00
Daniel Lemire f75280ac9c
Fix for issue 150 (#162)
* Checks for issue 150. We run through the test files with sanitizers on.

* Fix for issue 150: the remaining issues were an overrun on the depth capacity and an "off-by-1" overrun on tape capacity.

* Improving makefile.

* Safer git submodule command.

* Getting get 'git' on circleci
2019-05-09 20:51:33 -04:00
Daniel Lemire a66bd48cae Tweaking. 2019-04-05 18:20:21 -04:00
Daniel Lemire c16ecd5138 A 2019-01-18 15:06:23 -05:00
Daniel Lemire 9bfc0a816f Updating scripts. 2019-01-17 19:40:38 -05:00
Daniel Lemire cb02143c2f Updating results. 2019-01-17 19:37:52 -05:00
Daniel Lemire 982e8b8577 Doing "all" cases. 2019-01-17 19:28:18 -05:00
Daniel Lemire 165a3d6cfd Saving... 2019-01-08 11:36:05 -05:00
Daniel Lemire 0244d8dfe6 Regenerating. 2019-01-08 11:32:07 -05:00
Daniel Lemire 3e74059cc3 Fix the shuffle. 2019-01-04 20:12:55 -05:00
Daniel Lemire fa6bdc6d43 Updated. 2019-01-03 16:14:45 -05:00
Daniel Lemire 58f7b55a09 Updating. 2019-01-03 15:57:34 -05:00
Daniel Lemire 2e9a92588b New data. 2019-01-03 15:37:01 -05:00
Daniel Lemire f99ff02fa2 Ok, some update. 2019-01-03 15:26:44 -05:00
Daniel Lemire ced53dd04d Updating. 2019-01-03 14:28:17 -05:00
Daniel Lemire 45e885c144 Updating stack plot. 2019-01-03 13:00:35 -05:00
Daniel Lemire b9f6adf574 Update. 2019-01-02 16:50:42 -05:00
Daniel Lemire 5dadcea426 Updating. 2019-01-02 16:48:08 -05:00
Daniel Lemire a07e1d94c0 Update. 2019-01-02 16:45:01 -05:00
Daniel Lemire 97e20fb684 Tweaking. 2018-12-27 20:36:35 -05:00
Daniel Lemire bb83ad47a4 Figures. 2018-12-27 19:35:29 -05:00
Daniel Lemire 0f9fab1d4f Saving... 2018-12-27 17:45:31 -05:00
Daniel Lemire 138bee8143 adding raw data 2018-12-27 17:44:10 -05:00
Daniel Lemire 7d6a2e29aa Saving. 2018-12-24 17:35:07 -05:00
Daniel Lemire d95c4c0371 Saving. 2018-12-24 17:34:40 -05:00
Daniel Lemire e77c212827 Adding another script. 2018-12-24 16:44:42 -05:00
Daniel Lemire 2afff77567 Updating. 2018-12-24 16:02:53 -05:00
Daniel Lemire d975fc7543 Saving.... 2018-12-24 15:46:12 -05:00
Daniel Lemire d3821a4b21 Saving... 2018-12-24 15:45:47 -05:00
Daniel Lemire 8db5da9ffe Adding cannonlake results. 2018-12-24 15:30:25 -05:00