Commit Graph

70 Commits (b51bd7981900ee8d9d5e00be3d0b43cec34b2e20)

Author SHA1 Message Date
John Benediktsson b75def3bfb hashtables: remove 2hashtable (not really used). 2016-03-03 14:38:16 -08:00
Doug Coleman 3c48141689 hashtables: add a 2hashtable word that is like associate but for two key/value pairs. 2016-03-02 17:17:58 -08:00
John Benediktsson ceb75057da change ERROR: words from throw-foo back to foo. 2015-08-13 16:13:05 -07:00
Doug Coleman 02008979d9 factor: Change ERROR: foo ; to define ``throw-foo`` instead of having ``foo`` throw implicitly. The old ``foo`` still throws implicitly because this is a big change to get right in one patch, but it should be removed soon. 2015-08-12 15:26:18 -05:00
John Benediktsson 6127bb8548 hashtables: make sure capacity and growth use same load factor. 2015-07-14 18:32:40 -07:00
John Benediktsson 5083bdad33 Revert "hashtables: make hash-combine use fixnum primitives."
This reverts commit 390dd23261.
2015-06-11 20:33:47 -07:00
John Benediktsson 95c34c41b7 hashtables: remove the 2hashcode word for now. 2015-06-09 16:46:02 -07:00
John Benediktsson 390dd23261 hashtables: make hash-combine use fixnum primitives. 2015-06-09 16:30:04 -07:00
John Benediktsson 6210edf76e words: change word hash to do less work. 2015-06-09 16:08:48 -07:00
Doug Coleman 632ee276e1 core: Remove trailing whitespace. 2014-10-31 01:14:31 -07:00
John Benediktsson fb9c5f9aee hashtables: slightly faster associate and collect-pairs. 2014-02-06 22:39:43 -08:00
John Benediktsson 6b0e72a475 hashtables: simplify <hashtable>. 2014-01-08 09:56:00 -08:00
John Benediktsson 260abd3d7c hashtables: use >= in hash-large?. 2014-01-05 23:08:53 -08:00
John Benediktsson e3ea3ac140 hashtables: cleanup duplicate code. 2013-04-06 21:36:39 -07:00
John Benediktsson a58c8ecc03 hashtables: faster keys and values on hashtables. 2013-04-06 21:20:07 -07:00
John Benediktsson 5d11ada701 hashtables: remove stack effects from generic methods. 2013-03-23 16:58:30 -07:00
John Benediktsson 11e86ec53c hashtables: faster grow-hash by not calling >alist. 2013-03-20 23:02:40 -07:00
John Benediktsson eca5253017 hashtables: reuse (rehash). 2013-03-07 22:01:50 -08:00
John Benediktsson f2eedb67ec hashtables: slightly faster grow logic. 2013-03-07 20:51:46 -08:00
John Benediktsson 5487480126 core: cleanup USING lists. 2013-03-05 10:34:47 -08:00
John Benediktsson 247600df71 hashtables: use "4drop" instead of "drop 3drop". 2012-10-23 12:26:14 -07:00
John Benediktsson 28f36a25b0 Revert "core: >array, >byte-vector, >hashtable, >vector should be inline."
This reverts commit cd6026e70e.
2012-10-05 08:30:41 -07:00
John Benediktsson 700cee5afd core: >array, >byte-vector, >hashtable, >vector should be inline. 2012-09-28 19:31:14 -07:00
Doug Coleman 8637c1c012 hashtables: Enforce shape on hashtable literals. Fixes #568. 2012-08-24 15:11:03 -07:00
John Benediktsson 8b2ae0a717 hashtables: reduce default size of associate. 2012-08-02 21:43:37 -07:00
Doug Coleman b656c8ef9e hashtables: Revert size of associate, but keep inlined. ~10s speedup on bootstrap 2012-07-20 09:30:37 -07:00
John Benediktsson 00056e2ea7 hashtables: use H{ } clone in associate, make it inline. 2012-07-20 09:04:51 -07:00
Joe Groff 943596575a use radix literals 2011-11-23 19:03:40 -08:00
Slava Pestov 29bc075bc7 hashtables: small cleanup 2011-11-12 15:35:51 -08:00
John Benediktsson e29c4589c4 hashtables: allow re-using deleted tombstones. Fixes #381. 2011-11-10 13:05:51 -08:00
John Benediktsson baceee8c50 hashtables: moving hash-combine to hashtables. 2011-10-02 20:29:49 -07:00
John Benediktsson 3b72b641e0 Fix help-lint errors for recent hashtable changes. 2011-10-02 17:49:11 -07:00
John Benediktsson 4ad888b530 hashtables: switch to quadratic probing. 2011-10-02 13:49:45 -07:00
John Benediktsson 6c2c5c0a82 assocs: use assoc-size to short-circuit equality checks. 2011-01-05 17:28:06 -08:00
Slava Pestov 627295f094 Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO) 2010-05-06 17:21:02 -04:00
Slava Pestov 11174a7ffe hashtables: fix indentation 2009-11-14 02:01:30 -06:00
Slava Pestov 08e7d25dc5 change-each -> map!, deep-change-each -> deep-map! 2009-10-27 22:32:56 -05:00
Slava Pestov 030b1b816c Add inline declarations for various assorted methods 2009-08-17 22:32:21 -05:00
Slava Pestov 688cd9b79b hashtables: use each-integer instead of iota ... each in >alist 2009-05-06 15:30:30 -05:00
Doug Coleman 0ad6d1fb7b add a few usages of iota, remove most 1+ and 1- from core 2009-05-01 19:58:24 -05:00
Slava Pestov 932d44cab8 Small speedup for code using H{ } clone and with-scope 2009-03-31 08:16:04 -05:00
Slava Pestov f34c14a0f5 Remove some usages of tuck 2009-01-23 18:20:47 -06:00
Slava Pestov de3a4f5462 Change some dup ... swap to bi and keep 2008-12-15 21:20:32 -06:00
Slava Pestov bac338663d Mark a word inline 2008-12-06 15:31:35 -06:00
Slava Pestov a56d480aa6 Various optimizations leading to a 10% speedup on compiling empty EBNF parser:
- open-code getenv primitive
- inline tuple predicates in finalization
- faster partial dispatch
- faster built-in type predicates
- faster tuple predicates
- faster lo-tag dispatch
- compile V{ } clone and H{ } clone more efficiently
- add fixnum fast-path to =; avoid indirect branch if two fixnums not eq
- faster >alist on hashtables
2008-12-06 09:16:29 -06:00
Slava Pestov a4d9cdfeb3 Refactor all usages of >r/r> in core to use dip, 2dip, 3dip
Non-optimizing compiler now special-cases dip, 2dip, 3dip following a
literal quotation: this allows us to break the dip/slip meta-circle
without explicit calls to >r/r>
2008-11-23 02:44:56 -06:00
Slava Pestov 9f52ee50b0 Another speedup to >alist: create vector with right size up-front. 10 second bootstrap time reduction 2008-11-12 00:10:50 -06:00
Slava Pestov ed3a81a503 Faster M: hashtable >alist performs less dispatch and allocates less junk 2008-11-11 23:03:50 -06:00
Slava Pestov c19f2257f4 Fix permission bits 2008-10-02 08:34:49 -05:00
Slava Pestov ac2bf0b87d Adding inline recursive declarations 2008-07-18 19:22:59 -05:00