-
Notifications
You must be signed in to change notification settings - Fork 47
- enable set-dispatch-macro-character for integer #51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
k-okada
commented
Aug 29, 2014
- this will fix integerの行列のリードが失敗する #47
(geo/primt.l,l/common.l) revert Henry Baker's contribution of 2013 July, this breaks test code euslisp/jskeus#100
- enable set-dispatch-macro-character for integer
This PR has side-effect for my environment.
In my PC, case1 was
, and case2 was
Case2 was about 150times slower than case1. I found this problem in loading euscollada robot model file, which has too many vertices for body. |
Humm, so, before this patch, |
Oh, that's curious. In my checking of
|
here is original function, and it is overwritten by set-dispatch-macro-character. What is difference between float-vector and integer-vector while reading macro. This part took much time. So, We should change this part.
(defun read-float-array (strm char num)
(let ((list (read strm t t t)))
(if (= num 0)
(apply 'float-vector list)
(make-array (list-dimensions list)
:element-type :float
:initial-contents list)))) (defun read-integer-array (strm char num)
(let ((list (read strm t t t)))
(if (= num 0)
(fill-initial-contents (instantiate integer-vector (length list))
0 (list (length list)) list)
(make-array (list-dimensions list)
:element-type :integer
:initial-contents list)))) |
I tested your PR (#61) |
- enable set-dispatch-macro-character for integer