GithubHelp home page GithubHelp logo

cosmos72 / hyperluminal-db Goto Github PK

View Code? Open in Web Editor NEW
13.0 13.0 3.0 230 KB

(ALPHA) Persistent, memory-mapped Common Lisp object store

License: GNU General Public License v3.0

Common Lisp 100.00%

hyperluminal-db's People

Contributors

cosmos72 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

hyperluminal-db's Issues

Does not work with latest hyperluminal-mem

To load hyperluminal-db with quicklisp version of hyperluminal-mem it needs to change package dependencies from hyperluminal-ffi to hyperluminal-mem-ffi in db/package.lisp and some fixes in db/store.lisp at least.
Just try to load it and you'll see errors.

quickload/compilation fails under sbcl 2.0.0 and 2.0.6

Environment portacle with sbcl 2.0.0 or sbcl 2.0.6 native

quickload fails on store.lisp @ line 78

[package hyperluminal-db].....

; file: /usr/local/bin/portacle/all/quicklisp/local-projects/hyperluminal-db/db/store.lisp
; in: DEFVAR P
; (DEFVAR HYPERLUMINAL-DB::P HYPERLUMINAL-MEM-FFI:+NULL-POINTER+)
; --> PROGN SB-IMPL::%DEFVAR SB-IMPL::%DEFVAR
; ==>
; '#.(SB-SYS:INT-SAP #X00000000)
;
; caught ERROR:
; Objects of type SB-SYS:SYSTEM-AREA-POINTER can't be dumped into fasl files.

Is there any hint to overcome this issue?

Clever trick?

Hyperluminal-DB uses a (supposedly) clever trick in order to overcome Intel claims that hardware memory transactions (specifically, Intel TSX) cannot perform input/output.

The result is that Hyperluminal-DB is able to perform transactional input/output while running hardware memory transactions - an apparent paradox - in an extremely specific but significant case: reading and writing memory-mapped files.

Could you go into more detail about the 'clever trick' you discovered that allows TSX to perform input/output?

Test of hyperluminal-db on sbcl 2.01 and Ubuntu 20.04

Hi,

proceeded as described using sbcl 2.0.1 on ubuntu 20.04.

The output of hyperluminal test is:


  • (asdf:test-system :hyperluminal-db)
    ; compiling file "/home/aswood/quicklisp/local-projects/hyperluminal-db/test/package.lisp" (written 25 JUN 2021 07:37:46 AM):
    ; compiling (IN-PACKAGE :CL-USER)
    ; compiling (DEFPACKAGE #:HYPERLUMINAL-DB-TEST ...)
    ; compiling (IN-PACKAGE :HYPERLUMINAL-DB-TEST)
    ; compiling (DEF-SUITE SUITE)

; wrote /home/aswood/.cache/common-lisp/sbcl-2.0.1.debian-linux-x64/home/aswood/quicklisp/local-projects/hyperluminal-db/test/package-tmp97AGCAO1.fasl
; compilation finished in 0:00:00.002

Running test suite SUITE
Didn't run anything...huh?


???????

There seems no test suit running now

Hello. When I run the test suit as shown in readme, hyperluminal-mem and stmx pass all the tests. However, hyperluminal-db says:

CL-USER> (asdf:test-system :hyperluminal-db)
To load "hyperluminal-db-test":
  Load 1 ASDF system:
    hyperluminal-db-test
; Loading "hyperluminal-db-test"


Running test suite SUITE
 Didn't run anything...huh?

Is there something wrong with its test? My OS is ubuntu 16.04 x64. And Lisp implementation is SBCL 1.3.1 x64.
Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.