Commit 47037ffb authored by Jeronimo Pellegrini's avatar Jeronimo Pellegrini

Merge branch 'master' of gitlab.com:jpellegrini/spartns

parents 9be4c36d 6d073155
......@@ -30,15 +30,15 @@ XCL probably works (latest version did pass all tests, but I can'
```
* I could not test Corman Common Lisp, as I do not have Windows installed.
* Spartns seems to work on GCL checked out from git, but if it does signal an error
when running the benchmarks:
* Spartns seems to work on GCL checked out from git, but needs tuning in
order to run the benchmarks. If it fails as this:
```
Signalled by PROGN.
Condition in PROGN [or a callee]: INTERNAL-SIMPLE-ERROR: The assertion v && (unsigned long)(v+sz)<MAX_CODE_ADDRESS
on line 1035 of alloc.c in function alloc_code_space
failed: Success
```
Signalled by PROGN.
Condition in PROGN [or a callee]: INTERNAL-SIMPLE-ERROR: The assertion v && (unsigned long)(v+sz)<MAX_CODE_ADDRESS
on line 1035 of alloc.c in function alloc_code_space
failed: Success
```
then some tuning may be necessary (`GCL_MEM_MULTIPLE`, `GCL_GC_PAGE_THRESH`, `GCL_GC_ALLOC_MIN`,
`GCL_GC_PAGE_MAX`, `GCL_MULTIPROCESS_MEMORY_POOL`), and it is still possible to allocate clde
......@@ -55,8 +55,6 @@ Workarounds:
That probably has an impact on performance.
This only afects the `ARRAY` scheme on Cozure, and only the `GET`
function (`SET` and traversals are not affected)
* Poplog does not accept `(make-hash-table :size 0)`, so Spartns
uses `#+poplog (max 1 size) #-poplog size`
* In Allegro Common Lisp, if A is a `SIMPLE-ARRAY`, the result of
`(adjust-array A new-size)` is not.
Spartns now uses a function called `ROBUST-ADJUST-ARRAY` for this.
......
......@@ -10,7 +10,7 @@ Features:
* Represents mappings from one dimension onto another using any scheme you want (there are three built-in schemes: array, hash and compressed-vector, but you can roll your own and plug it);
* Flexible: works with any data type;
* Heavily optimized: traversing the tensor can be extremely fast (in one specific situation -- traversing the tensor -- it was 10 times faster than a naive implementation in C++);
* Fairly portable: works with ABCL, ACL, Clisp, Clozure, CMUCL, ECL, GCL, SBCL and XCL.
* Fairly portable: works with ABCL, ACL, Clisp, Clozure, CMUCL, ECL, GCL, SBCL, MKCL and XCL.
* Spartns is never released without going through regression tests (if a platform breaks and can't be supported, it will be clear in the release announcement);
* ASDF installable (thanks Slobodan Blazeski!);
* Easy to use, with introductory documentation (not only on-line);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment