精華區beta Programming 關於我們 聯絡資訊
※ 引述《previewslave@kkcity.com.tw》之銘言: > ※ 引述《streit.bbs@aeug.twbbs.org (亞斯爾‧馮‧修特萊)》之銘言: > > 這是電信相關的 不同間的電信都會有LOG互相比對 > > 來確定對方有沒有多加秒數多收錢 > > 現在兩家的LOG要互相比對 我設計一個STRUCT去把需要比對的資料分析後放進去 > > 內容大致上是 電話號碼 通話開始時間 通話結束時間 通話秒數 等等幾項 > > 現在問題是光將檔案約61萬筆資料讀到陣列中 > > 每筆就要花一秒的時間 61萬筆就要花掉166個小時以上 約6天半 > > 這樣效率實在是很差 是否有更快速的方式可以將資料丟到陣列中呢? > > 語言是C/C++ 工具BCB 檔案內容會先放到StringList中 > > 再逐一從StringList中拉出來一個一個分析 > 先撇開技術不談,這是一個有問題的題目。 > 因為基本上所有電信業者是站在同一陣線的, > 因此只要雙方協調好就能夠吃死消費者。 > 就單純技術問題來說,一筆資料就要花一秒的時間,這實在是太誇張了。 > 你用的是 AppleII 電腦嗎?還是打孔機? > 另外,有一個疑問是,當某甲打電話給某乙時, > 是否一定會有 A 公司傳遞訊息給 B 公司呢? > 還是說兩家公司能夠同時接收通話雙方的通訊內容? > 如果是前者,那麼問題就不存在。 基本上消費者也不可能有61萬筆資料 跑得PC是用P4 2.4G Celeron 1G RAM 在Treminal Services模式下 不論在上班或下班後 每筆都要花1秒的時間才能解析到STRUCT中 LOG內容大約解釋一下 電話號碼 來源簡稱 開始時間 結束時間 秒數 %20s %30s %19s %19s %7d 檔案內大約是這個格式 先讀到StringList後 再把他丟到一個512大小的Char陣列中 用sscanf丟到一些變數 時間會丟給tm然後用mktime轉成time_t 秒數是INT 電話號碼放到char陣列中 -- Origin: 幽谷˙反地球聯邦組織 aeug.twbbs.org Author: streitanime.animemusic.idv.tw 發表