本帖最后由 523066680 于 2019-3-20 19:52 编辑
这个问题有一个分支剧情,就是当时我建议题主去C++板块提问,windoze版主给他提出了解答此题6000元的报价
windoze 回复 3# Windows19
nonono,问题不是支付方式,而是金额。
你要的这个东西显然已经超出论坛技术讨论的范围,我拍脑袋的估一下差不多要一周左右的工作量,假设你找了一个月薪20000的人帮你做这件事,至少就得掏5000块,而且一般零活的价钱会在月结工资的基础上再向上浮动10~20%。
不知道lz有没有做好掏6000块的心理准备。
想借windoze版主的话提醒各位一下,技术是有价值的,像lxh发的那些各种需求,十几二十元,三五人去给他轮番全方位解答,着实是在贬低技术的价值。
以及windoze为这个问题评估了一个价值,各位如果感兴趣可以自己试试,有话题,可以讨论,代码也未必要发出来(几千大洋 )。
----------------- 2019-03-19 补充 -----------------
生成随机文本的代码(初步),
文件大小通过 FILE_SIZE 指定,效率偏低,在我这里(CPU 4GHz) 生成100M需要 13秒,太慢。欢迎补充更好的生成工具。
g++ -std=c++11 -O3 -o gen gen.cpp
----------------- 2019-03-20 更新 -----------------
g++ -std=c++11 -O3 -o gen gen.cpp
本机测试 100M 1.3秒- // Generate Random Text
- // 2019-03-20
-
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <random>
- #include <chrono>
- using namespace std;
- using namespace std::chrono;
-
- void init_table( string &table );
- void write_random_data( string &table, ofstream &fh );
- void time_used(system_clock::time_point& time_a);
-
- const long long FILE_SIZE = 1024*1024*100;
-
- int main(int argc, char *argv[] )
- {
- string table;
- init_table(table);
- string file = "F:/Cu_Topics/data.txt";
- ofstream fh(file, ios::binary);
- if ( fh.fail() ) {
- cout << "Can't open file" << endl;
- return 1;
- }
-
- system_clock::time_point timestamp = chrono::system_clock::now();
- write_random_data( table, fh );
- time_used( timestamp );
- return 0;
- }
-
- void write_random_data( string &table, ofstream &fh )
- {
- char *buff = new char[FILE_SIZE+1];
- default_random_engine engine(12345);
- uniform_int_distribution<int> get_rand(0, table.size()-1);
- register long long iter = 0LL;
- while ( iter < FILE_SIZE ) {
- buff[iter++] = table[ get_rand(engine) ];
- }
- fh.write( buff, FILE_SIZE );
- }
-
- void init_table( string &table )
- {
- table =
- "abcdefghijklmnopqrstuvwxyz"
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "1234567890" "1234567890"
- " " "!(),-.:;?[]_{}" "\n\n"
- ;
- }
-
- void time_used(system_clock::time_point& time_a) {
- duration<double> diff;
- diff = chrono::system_clock::now() - time_a;
- cout << "Time used: " << diff.count() << endl;
- time_a = chrono::system_clock::now();
- }
复制代码 ----------------- 2019-03-21 更新 -----------------
12楼提供了可执行的生成工具,我这里附一个小批处理,方便修改(但注意变量值范围限制)。- @echo off
- set /a MB=1^<^<20, SIZE=MB*100, SEED=2019
- gensample %SIZE% %SEED%>F:/CU_Topics/a.txt
- pause
复制代码
|