| 
									
										
										
										
											2012-07-27 18:44:38 -04:00
										 |  |  | USING: io io.encodings.ascii io.files io.files.temp math | 
					
						
							|  |  |  | math.parser kernel sequences ;
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | IN: benchmark.sum-file | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-27 18:44:38 -04:00
										 |  |  | << | 
					
						
							|  |  |  | "sum-file.txt" temp-file ascii [ | 
					
						
							|  |  |  |     100000 iota [ number>string print ] each
 | 
					
						
							|  |  |  | ] with-file-writer | 
					
						
							|  |  |  | >> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | : sum-file-loop ( n -- n' )
 | 
					
						
							|  |  |  |     readln [ string>number + sum-file-loop ] when* ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-27 18:44:38 -04:00
										 |  |  | : sum-file ( file -- n )
 | 
					
						
							|  |  |  |     ascii [ 0 sum-file-loop ] with-file-reader ;
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-19 20:35:47 -04:00
										 |  |  | : sum-file-benchmark ( -- )
 | 
					
						
							| 
									
										
										
										
											2012-07-27 18:44:38 -04:00
										 |  |  |     15 [ | 
					
						
							|  |  |  |         "sum-file.txt" temp-file sum-file 4999950000 assert=
 | 
					
						
							|  |  |  |     ] times ;
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-19 20:35:47 -04:00
										 |  |  | MAIN: sum-file-benchmark |