宿題とコーディング

f(n)=Σ[j] (j=1..n) 
なる関数をC言語で作成せよ。なる宿題(課題?)があった場合、
f(n)=n(n+1)/2
をそのままコーディングして、認めてもらえるのだろうか?
出題者も失敗したんだろうけど。


5年前のことを思い出した。
既存の予約システムにおけるデータを、新システムに移管するときのこと。
確かに95,000件のデータ処理だったけど、コンバートプログラムをキックしてから新DBへのデータ格納が終了するまで数日かかるかも?
って言われた。(テストで一部のデータを処理したら、随分時間がかかったことによる)
こっちもコンバートプログラムは何本か組んだことがあるので、ありえない!と指摘。
まさか?と思い、
「各処理ごとにDBにアクセスしていませんか? 旧データ1件を処理するのに、select()で1件読み出して、処理して、write()で新DBに1件書き込んで・・・」と尋ねると、その通りでした。
「データを仮想メモリー内にマッピングしなさい」の一声で処理時間が短縮したのは、当然の結果。


この内容を書いたのは、rikuzai様の人ま会Diaryを読んだから。
アプリケーション関係の質問について - rikuzaiのじんりきニッキ - 人力検索についてまったり語ろう会
office系の質問にお答えになっているrikuzai様ならではのご意見だった。
色々と考え事をしている内に、上記内容になりました。