Commit message (Collapse) | Author | Age | ||
---|---|---|---|---|
... | ||||
* | Rewrite cursor implementation | John Hawthorn | 2017-10-16 | |
| | | | | | | | Index the cursor from the beginning instead of the end, which is easier (at least for me) to think about. This also fixes issues with Ctrl-W in the previous implementation. | |||
* | Merge pull request #46 from keith/ks/arrow-keys | John Hawthorn | 2017-10-07 | |
|\ | | | | | Support arrow key movements | |||
| * | Support arrow key movements | Keith Smiley | 2017-08-13 | |
| | | ||||
* | | Fix line maximum line length when scores are shown | Jonathan Neuschäfer | 2017-09-24 | |
|/ | ||||
* | Ignore bracketed paste characters | Keith Smiley | 2017-08-13 | |
| | ||||
* | Add acceptance test for --help | John Hawthorn | 2017-02-07 | |
| | | | | Also shorten help to fit 80 characters wide terminal. | |||
* | Add -j option to control parallelism | John Hawthorn | 2017-01-31 | |
| | ||||
* | Pass options to choices_init | John Hawthorn | 2017-01-31 | |
| | ||||
* | Merge partially sorted lists in parallel | John Hawthorn | 2017-01-26 | |
| | ||||
* | Replace k-way-merge with 2-way merge | John Hawthorn | 2017-01-26 | |
| | ||||
* | Perform sort in parallel | John Hawthorn | 2017-01-26 | |
| | ||||
* | Fix memory leak of job | John Hawthorn | 2017-01-26 | |
| | ||||
* | Support movement with CTRL-J/CTRL-K | Michael Stock | 2017-01-17 | |
| | ||||
* | Improve parallelism of search workers | John Hawthorn | 2017-01-08 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the list of candidates was split between threads a priori, with each thread being evenly distributed a contiguous range from the search candidates. This did a bad job of distributing the work evenly. There are likely to be areas with significantly more matches than others (ex. files within directories which match the search terms), as well as areas with longer strings than others (ex. deep directories). Because of the type of data fzy receives, work allocation needs to be dynamic. This commit changes the workers to operate on the candidates in batches, until they have all been processed. Batches are allocated by locking a mutex and grabbing the next available range of BATCH_SIZE candidates. BATCH_SIZE is currently set at 512, which worked best on my laptop in a quick test. This will always be a compromise. Small batch sizes will distribute the work more evenly, but larger batch sizes will be friendlier to CPU caches. Quick testing: Before: ./fzy -e drivers --benchmark < linux_files.txt 1.69s user 0.03s system 163% cpu 1.053 total After: ./fzy -e drivers --benchmark < linux_files.txt 2.12s user 0.02s system 296% cpu 0.721 total | |||
* | Store choices on job struct | John Hawthorn | 2017-01-08 | |
| | ||||
* | Create search_job struct | John Hawthorn | 2017-01-08 | |
| | ||||
* | Remove unused and uninitialized worker struct var | John Hawthorn | 2017-01-08 | |
| | ||||
* | Fix tty_interface clear for num_lines=0 | John Hawthorn | 2016-12-28 | |
| | ||||
* | Fix a problem that the cursor position shifted upward | momotaro | 2016-12-21 | |
| | ||||
* | Fix segfault when encountering utf-8 characters | John Hawthorn | 2016-08-03 | |
| | ||||
* | Add sys/select.h to fix building with musl libc | Duncaen | 2016-07-31 | |
| | ||||
* | Add a few missing static declarations | John Hawthorn | 2016-07-12 | |
| | ||||
* | Fix segfault when autocompleting on no matches | John Hawthorn | 2016-07-12 | |
| | ||||
* | Use macros to help with bonus tables | John Hawthorn | 2016-07-12 | |
| | ||||
* | Use standards-compliant lookup table | John Hawthorn | 2016-07-12 | |
| | ||||
* | Use a lookup table for precompute_bonuses | John Hawthorn | 2016-07-10 | |
| | ||||
* | Use score_t instead of double | John Hawthorn | 2016-07-10 | |
| | ||||
* | Don't consider numbers word separators | John Hawthorn | 2016-07-10 | |
| | | | | | | This made sense on paper when deciding what was a "word". However in reality this is rarely an indication of a separate word. I've found that this caused hexadecimal or base64 strings to be favoured in matches. | |||
* | Split bonus computation into own method | John Hawthorn | 2016-07-10 | |
| | ||||
* | Store result of getopt_long in an int | John Hawthorn | 2016-06-22 | |
| | | | | This fixes issues on ARM, where char is unsigned. | |||
* | Use number of processors as worker count | John Hawthorn | 2016-06-22 | |
| | | | | | | | Since we're dividing the search set equally between processors, we want to run with the same number of workers that we have CPU execution threads. This avoids having a worker which is starved until the end of execution. | |||
* | Store worker_count on choices_t | John Hawthorn | 2016-06-22 | |
| | ||||
* | Use threading when matching/scoring | John Hawthorn | 2016-06-22 | |
| | ||||
* | Use threading when matching/scoring | John Hawthorn | 2016-06-22 | |
| | ||||
* | Change match into if/else | John Hawthorn | 2016-06-22 | |
| | | | | | This is marginally faster and I still think it reads very well (maybe better). | |||
* | Add tests for exact scores | John Hawthorn | 2016-06-22 | |
| | | | | Preparing for some changes to the match method | |||
* | Batch together input for searches | John Hawthorn | 2016-06-22 | |
| | ||||
* | Add pageup and pagedown | John Hawthorn | 2016-06-22 | |
| | ||||
* | Use a struct to store keybindings | John Hawthorn | 2016-06-22 | |
| | ||||
* | Extract append_search method | John Hawthorn | 2016-06-22 | |
| | ||||
* | Move all action into their own functions | John Hawthorn | 2016-06-20 | |
| | ||||
* | Track last search | John Hawthorn | 2016-06-20 | |
| | | | | This allows us to avoid explicitly calling out to choices_search | |||
* | Use tty_interface_t to communicate exit | John Hawthorn | 2016-06-20 | |
| | ||||
* | Return exit code from run | John Hawthorn | 2016-06-20 | |
| | ||||
* | Use tty_interface_t throughout | John Hawthorn | 2016-06-19 | |
| | ||||
* | Remove options global variable | John Hawthorn | 2016-06-19 | |
| | ||||
* | Store state in tty_interface_t | John Hawthorn | 2016-06-19 | |
| | ||||
* | Extract tty interface to own file | John Hawthorn | 2016-06-19 | |
| | ||||
* | Ensure options is passed as a pointer | John Hawthorn | 2016-06-19 | |
| | ||||
* | Extract option parsing to separate file | John Hawthorn | 2016-06-19 | |
| |