sanix-darker/cisv 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

sanix-darker/cisv

最新稳定版本:v0.4.9

Composer 安装命令:

pie install sanix-darker/cisv

包简介

High-performance CSV parser with SIMD optimizations (AVX-512/AVX2) for PHP - 10-50x faster than fgetcsv

README 文档

README

PHP Install

CI

Packagist Version

License

PHP extension distribution for CISV with SIMD-accelerated CSV parsing via native C code.

FEATURES

  • Native extension parser for PHP
  • Full parse API (parseFile, parseString)
  • Row-by-row iterator API (openIterator / fetchRow)
  • Fast row counting (CisvParser::countRows)
  • Better memory behavior with iterator mode on very large files

INSTALLATION

FROM SOURCE

git clone --recurse-submodules https://github.com/Sanix-Darker/cisv-php
cd cisv-php
make -C core/core all
cd cisv
phpize
./configure --enable-cisv
make -j"$(nproc)"
sudo make install

Then enable extension in php.ini:

extension=cisv.so

CORE DEPENDENCY (SUBMODULE)

This repository tracks cisv-core via the ./core git submodule.

To fetch the latest cisv-core (main branch) in your local clone:

git submodule update --init --remote --recursive

CI and release workflows also run this update command, so new cisv-core releases are pulled automatically during builds.

QUICK START

<?php

$parser = new CisvParser(['delimiter' => ',', 'trim' => true]);
$rows = $parser->parseFile('data.csv');
print_r($rows[0]);

API EXAMPLES

PARSE FILE AND STRING

<?php

$parser = new CisvParser(['trim' => true, 'skip_empty' => true]);
$fileRows = $parser->parseFile('data.csv');
$stringRows = $parser->parseString("id,name\n1,alice\n2,bob\n");

FAST ROW COUNTING

<?php

$total = CisvParser::countRows('large.csv');
echo "Rows: $total\n";

ITERATOR MODE (RECOMMENDED FOR HUGE FILES)

<?php

$parser = new CisvParser(['delimiter' => ',', 'trim' => true]);
$parser->openIterator('very_large.csv');

while (($row = $parser->fetchRow()) !== false) {
    if (!empty($row) && $row[0] === 'STOP') {
        break;
    }
    // process row
}

$parser->closeIterator();

EXAMPLES DIRECTORY

Runnable examples are available in examples/:

  • basic.php
  • iterator.php
  • sample.csv

VALIDATION

php -d extension=cisv/modules/cisv.so cisv/scripts/verify_api.php

BENCHMARKS

docker build -t cisv-php-bench -f cisv/benchmarks/Dockerfile .
docker run --rm --platform linux/amd64 --cpus=2 --memory=4g cisv-php-bench

PHP Benchmarks

The benchmark output includes both full parse and iterator paths (including cisv-iterator).

UPSTREAM CORE

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 0
  • Forks: 0
  • 开发语言: C

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-08

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固