Skip to content

Commit c44453c

Browse files
committed
Merge branch 'master' of https://github.com/tk3369/SASLib.jl
2 parents 2ff8fa1 + 2bccb43 commit c44453c

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

LICENSE_SAS7BDAT.md

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Copyright (c) 2015 Jared Hobbs
2+
3+
Permission is hereby granted, free of charge, to any person obtaining a copy of
4+
this software and associated documentation files (the "Software"), to deal in
5+
the Software without restriction, including without limitation the rights to
6+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7+
of the Software, and to permit persons to whom the Software is furnished to do
8+
so, subject to the following conditions:
9+
10+
The above copyright notice and this permission notice shall be included in all
11+
copies or substantial portions of the Software.
12+
13+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19+
SOFTWARE.

README.md

+18
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,21 @@ results = SASLib.read(handler, 3) # read 3 rows
9292
results = SASLib.read(handler, 4) # read next 4 rows
9393
SASLib.close(handler) # remember to close the handler when done
9494
```
95+
96+
## Read Performance
97+
98+
I would have expected Julia to be 10x faster than Python but depending on the characterisitc of the data file and target platform I am getting mixed results. Pandas uses Cython to speed up the core section of the code.
99+
100+
When I have time I will publish some test results. I would also be happy to hear about your experience - feel free to create an issue with your performance test results.
101+
102+
## Why another package?
103+
104+
At first, I was just going to use ReadStat. However, ReadStat does not support reading files with compressed binary data. I could have chosen to contribute to that project instead but I would rather learn and code in Julia instead ;-) The implementation in Pandas is fairly straightforward, making it a relatively easy porting project.
105+
106+
## Porting Notes
107+
108+
I chose to copy the code from Pandas and made minimal changes so I can have a working version quickly. Hence, the code isn't very Julia-friendly e.g. variable and function naming are all mixed up. It is not a priority at this point but I would think some major refactoring would be required to make it more clean & performant.
109+
110+
## Credits
111+
112+
Many thanks to Jared Hobbs, the original author of the SAS I/O code from Python Pandas.

0 commit comments

Comments
 (0)