Skip to content

Commit 89a2473

Browse files
committed
Add README
1 parent 2c9b570 commit 89a2473

File tree

2 files changed

+144
-0
lines changed

2 files changed

+144
-0
lines changed

README.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
<div align="center">
2+
3+
English | [简体中文](./README_CN.md)
4+
5+
# PyFastUtil
6+
7+
[//]: # ( <p>)
8+
9+
[//]: # ( <!--suppress CheckImageSize -->)
10+
11+
[//]: # ( <img src="./mascot.png" alt="Project Mascot" width="320">)
12+
13+
[//]: # ( </p>)
14+
15+
## Make Python Fast Again
16+
17+
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
18+
[![Issues](https://img.shields.io/github/issues/xia-mc/PyFastUtil)](https://img.shields.io/github/issues/Nova-Committee/CheatDetector)
19+
[![Build](https://github.com/xia-mc/PyFastUtil/actions/workflows/python-package.yml/badge.svg)](https://github.com/xia-mc/PyFastUtil/actions)
20+
21+
</div>
22+
23+
## Introduction
24+
25+
**PyFastUtil** is a high-performance utility library for Python, inspired by the popular [FastUtil](https://fastutil.di.unimi.it/) library in Java. However, **PyFastUtil is not a Python binding of any existing library**, but a **complete re-implementation** from scratch, designed to bring the same efficiency and functionality to Python.
26+
27+
> **Note**: PyFastUtil is still in its **early development phase**. The codebase is under active development and is not yet ready for production use. We are working hard to make it feature-complete and thoroughly tested before releasing it on PyPI.
28+
29+
### Features
30+
31+
- Implements all corresponding Python data structure interfaces, while providing significant performance improvements through targeted optimizations. Users can choose the most suitable data structure for their specific needs.
32+
- Fully implemented in C/C++, leveraging hardware-specific optimizations such as SIMD to maximize the performance of data structures.
33+
- Offers efficient Python bindings for certain C APIs, allowing advanced users to perform low-level, "unsafe" operations when needed.
34+
35+
## Installation
36+
37+
Currently, **PyFastUtil** is not available on PyPI. You will need to **clone the repository** and build it from the source code.
38+
39+
### Build from source
40+
41+
1. Clone the repository:
42+
```bash
43+
git clone https://github.com/yourusername/PyFastUtil.git
44+
cd PyFastUtil
45+
```
46+
47+
2. Build the project:
48+
- On **Windows**:
49+
```bash
50+
build.cmd
51+
```
52+
- On **Linux/macOS**:
53+
```bash
54+
./build.sh
55+
```
56+
57+
> **Note**: Future releases will be available on PyPI once the project is feature-complete and well-tested.
58+
59+
## License
60+
61+
This project is licensed under the **Apache License 2.0**. See the [LICENSE](LICENSE) file for more details.
62+
63+
## Roadmap
64+
65+
- [ ] Implement core data structures (e.g., fast lists, maps, sets).
66+
- [ ] Provide SIMD and inline assembly bindings for Python.
67+
- [ ] Thorough testing and benchmarking.
68+
- [ ] PyPI release.
69+
70+
## Contributing
71+
72+
Contributions are welcome! Feel free to submit issues or pull requests. Please note that the project is in an early stage, and we appreciate any feedback or suggestions.

README_CN.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
<div align="center">
2+
3+
[English](./README.md) | 简体中文
4+
5+
# PyFastUtil
6+
7+
[//]: # ( <p>)
8+
9+
[//]: # ( <!--suppress CheckImageSize -->)
10+
11+
[//]: # ( <img src="./mascot.png" alt="Project Mascot" width="320">)
12+
13+
[//]: # ( </p>)
14+
15+
## 让 Python 更快一点
16+
17+
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
18+
[![Issues](https://img.shields.io/github/issues/xia-mc/PyFastUtil)](https://img.shields.io/github/issues/Nova-Committee/CheatDetector)
19+
[![Build](https://github.com/xia-mc/PyFastUtil/actions/workflows/python-package.yml/badge.svg)](https://github.com/xia-mc/PyFastUtil/actions)
20+
21+
</div>
22+
23+
## 简介
24+
25+
**PyFastUtil** 是一个为 Python 提供的高性能工具库,灵感来源于 Java 中的 [FastUtil](https://fastutil.di.unimi.it/) 库。然而,**PyFastUtil 并不是任何现有库的 Python 绑定**,而是一个**从零开始重新实现**的库,旨在为 Python 带来与 Java FastUtil 相同的效率和功能。
26+
27+
> **注意**: PyFastUtil 仍处于**早期开发阶段**。代码库正在积极开发中,尚未准备好用于生产环境。我们正在努力使其功能齐全并经过广泛测试,之后会发布到 PyPI。
28+
29+
### 功能
30+
31+
- 在实现所有对应 Python 数据结构接口的同时,通过针对性优化大幅提升性能,并允许用户根据需求选择最合适的数据结构类型。
32+
- 完全使用 C/C++ 实现,并通过 SIMD 等硬件针对性优化,旨在最大化提升数据结构的性能。
33+
- 提供一些高效的 C API Python 绑定,允许高级用户执行一些“不安全”的底层操作。
34+
35+
## 安装
36+
37+
目前,**PyFastUtil** 还未发布到 PyPI。您需要**克隆仓库**并从源代码进行构建。
38+
39+
### 从源代码构建
40+
41+
1. 克隆仓库:
42+
```bash
43+
git clone https://github.com/yourusername/PyFastUtil.git
44+
cd PyFastUtil
45+
```
46+
47+
2. 构建项目:
48+
- 在 **Windows** 上:
49+
```bash
50+
build.cmd
51+
```
52+
- 在 **Linux/macOS** 上:
53+
```bash
54+
./build.sh
55+
```
56+
57+
> **注意**: 项目功能齐全并经过广泛测试后,将发布到 PyPI。
58+
59+
## 许可证
60+
61+
本项目使用 **Apache License 2.0** 进行开源。有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
62+
63+
## 开发路线图
64+
65+
- [ ] 实现核心数据结构(例如,快速列表、映射、集合)。
66+
- [ ] 提供 SIMD 和内联汇编的 Python 绑定。
67+
- [ ] 进行全面的测试和基准测试。
68+
- [ ] 发布到 PyPI。
69+
70+
## 贡献
71+
72+
欢迎贡献!请随时提交问题或拉取请求。请注意,项目处于早期阶段,我们非常感谢任何反馈或建议。

0 commit comments

Comments
 (0)