teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

8

fix

2020/07/22 14:29

投稿

mypt
mypt

スコア170

title CHANGED
File without changes
body CHANGED
@@ -13,10 +13,9 @@
13
13
  }
14
14
  }
15
15
  }
16
+ puts "#{Time.now.to_i - start_time}\twrite result complete"
16
17
  ```
17
- puts "#{Time.now.to_i - start_time}\twrite result complete"
18
18
 
19
- ---
20
19
 
21
20
  これをもう1度 ruby のハッシュに再構築しようと
22
21
  ```

7

fix

2020/07/22 14:29

投稿

mypt
mypt

スコア170

title CHANGED
@@ -1,1 +1,1 @@
1
- バイナリデータからハッシュを再構築するできるだけ早い方法
1
+ ハッシュデータ1度ファイルを経由して再構築するできるだけ早い方法
body CHANGED
File without changes

6

fix

2020/07/22 14:29

投稿

mypt
mypt

スコア170

title CHANGED
File without changes
body CHANGED
@@ -42,9 +42,9 @@
42
42
  puts "#{Time.now.to_i - start_time}\tdata cinstruct complete"
43
43
  ```
44
44
  というコードで読もうとしたんですが
45
- あまりに遅くなかなかおわらないので1000件ごとにプログレスを表示したところ
45
+ なかなかおわらないので1000件ごとにプログレスを表示したところ
46
46
  1000件ごとに約 3 秒ぐらいかかってしまいます
47
- (ペース的に 1000 秒で約 20 分かかる計算)
47
+ (ペース的に30万件 1000 秒で約 20 分かかる計算)
48
48
 
49
49
  書き込みが 1 秒もかからなかったのに
50
50
  読み込みでなぜこれほど時間がかかるんでしょうか

5

fix

2020/07/22 14:27

投稿

mypt
mypt

スコア170

title CHANGED
File without changes
body CHANGED
@@ -64,7 +64,9 @@
64
64
  [https://qiita.com/Ishotihadus/items/6b48e7606423b714210f](https://qiita.com/Ishotihadus/items/6b48e7606423b714210f)
65
65
  このサイトにいろいろなバイナリの扱いの比較が行われていて
66
66
  bin_utils がはやいとかかれてるんですが
67
+ [ funny-falcon /
68
+ bin_utils ](https://github.com/funny-falcon/bin_utils)
67
- ただの連続した同じ型の配列にはできるんですが
69
+ を読む限り連続した同じ型の配列にはできるんですが
68
70
  pack('QQQQf')
69
71
  でパックした(36バイトずつの)データを配列に戻す方法がわからず断念しました
70
72
 

4

fix

2020/07/22 14:26

投稿

mypt
mypt

スコア170

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- {long => {long => [long,long,float]}}
1
+ ruby 上に {long => {long => [long,long,float]}}
2
2
  というデータ形式で末端が約 30 万件のデータ構造があって
3
3
  これを以下のようなコードでバイナリにしてファイルに書き出したところ
4
4
  1 秒もかからずに書き込みできました

3

fix

2020/07/22 14:21

投稿

mypt
mypt

スコア170

title CHANGED
File without changes
body CHANGED
@@ -61,7 +61,7 @@
61
61
 
62
62
  ---
63
63
 
64
- https://qiita.com/Ishotihadus/items/6b48e7606423b714210f
64
+ [https://qiita.com/Ishotihadus/items/6b48e7606423b714210f](https://qiita.com/Ishotihadus/items/6b48e7606423b714210f)
65
65
  このサイトにいろいろなバイナリの扱いの比較が行われていて
66
66
  bin_utils がはやいとかかれてるんですが
67
67
  ただの連続した同じ型の配列にはできるんですが

2

fix

2020/07/22 14:19

投稿

mypt
mypt

スコア170

title CHANGED
File without changes
body CHANGED
@@ -51,7 +51,7 @@
51
51
 
52
52
  ディスクからメモリ上(src という変数) には一瞬で読み込めていて
53
53
  hash を作るループ部分で時間がかかってるようなのです
54
- どうすれば高速に読み込めるでしょうか?
54
+ どうすれば高速に hash データを構築できるでしょうか?
55
55
 
56
56
  コードのまずいところがあったら指摘していただけると助かります
57
57
 

1

fix

2020/07/22 14:17

投稿

mypt
mypt

スコア170

title CHANGED
File without changes
body CHANGED
@@ -24,7 +24,7 @@
24
24
  start_time = Time.now.to_i
25
25
  puts "reading result start"
26
26
 
27
- File.open("results.txt", mode = "rt"){|f|
27
+ File.open("results.txt", mode = "rb"){|f|
28
28
  src = f.read
29
29
  puts "#{Time.now.to_i - start_time}\tread result complete: #{src.length}"
30
30