Держи дядя
(defvar *buffer-size* (* 200 1024 1024))
(defvar *buffer* (make-array *buffer-size* :element-type '(unsigned-byte 8)))
(defun write-random-byte (stream)
  (dotimes (i *buffer-size*)
    (write-byte (random 255) stream)))
(defun write-buffer ()
  (with-open-file (s "f200m"
		     :direction :output
		     :if-exists :supersede
		     :element-type 'unsigned-byte)
	(write-random-byte s)))
;;(time (write-buffer))
(defun process-stream (stream)
  (let ((summa 0) (byte 0) (med 0))
    (dotimes (i *buffer-size*)
      (when (setf byte (read-byte stream))
	(incf summa byte)
	(setf (aref *buffer* i) byte)))
    (setf med (round (/ summa *buffer-size*)))
    (dotimes (i *buffer-size*)
      (setf (aref *buffer* i) (abs (- (aref *buffer* i) med)))))) 
(defun process-file ()
  (with-open-file (s "f200m" :element-type 'unsigned-byte)
    (process-stream s)))
    
(time (process-file))
32 секунды total run time на целероне 2.8. Хотя из меня лиспер как из говна пуля.


    
      Ответ на:
      
          комментарий
        от anonymous 
  
    
      Ответ на:
      
          комментарий
        от Sun-ch 
  
    
      Ответ на:
      
          комментарий
        от anonymous 
  

    
      Ответ на:
      
          комментарий
        от fMad 
  
    
      Ответ на:
      
          комментарий
        от Sun-ch 
  

    
      Ответ на:
      
          комментарий
        от anonymous 
  

    
      Ответ на:
      
          Чуть-чуть оптимизнем
        от COTOHA 
  
    
      Ответ на:
      
          И еще немножко :]
        от COTOHA 
  
    
      Ответ на:
      
          комментарий
        от Sun-ch 
  
    
      Ответ на:
      
          комментарий
        от Sun-ch 
  
    
      Ответ на:
      
          комментарий
        от COTOHA 
  
    
      Ответ на:
      
          комментарий
        от Sun-ch 
  
    
      Ответ на:
      
          комментарий
        от Sun-ch 
  
    
      Ответ на:
      
          комментарий
        от COTOHA 
  
    
      Ответ на:
      
          комментарий
        от Sun-ch 
  
    
      Ответ на:
      
          комментарий
        от anonymous 
  
    
      Ответ на:
      
          комментарий
        от anonymous 
  

    
      Ответ на:
      
          комментарий
        от mv 
  
    
      Ответ на:
      
          комментарий
        от anonymous 
  
    
      Ответ на:
      
          комментарий
        от mv 
  
    
      Ответ на:
      
          комментарий
        от tailgunner 
  
    
      Ответ на:
      
          комментарий
        от mv 
  
    
      Ответ на:
      
          комментарий
        от den73 
  
    
      Ответ на:
      
          комментарий
        от den73 
  
    
      Ответ на:
      
          комментарий
        от mv 
  
    
      Ответ на:
      
          комментарий
        от den73 
  
    
      Ответ на:
      
          комментарий
        от den73 
  
    
      Ответ на:
      
          комментарий
        от den73 
  
    
      Ответ на:
      
          комментарий
        от mv 
  
    
      Ответ на:
      
          комментарий
        от tailgunner 
  
    
      Ответ на:
      
          комментарий
        от mv 
  
    
      Ответ на:
      
          комментарий
        от tailgunner 
  
    
      Ответ на:
      
          комментарий
        от mv 
  
    
      Ответ на:
      
          комментарий
        от den73 
  
    
      Ответ на:
      
          комментарий
        от mv 
  
    
      Ответ на:
      
          комментарий
        от den73 
  

    
        Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
      
Похожие темы
- Форум Производительность чтения файла (2018)
- Форум [Common Lisp] serve-event и read-sequence (2008)
- Форум common lisp, потоки, slime (2009)
- Форум Скорость обработки массивов в разных лиспах и прочих яп (2013)
- Форум failed to open stream too many open (2018)
- Форум Не получается работать с внешним процессом (2017)
- Форум iozone ssd test (2013)
- Форум Эксперименты с обработкой текста (2017)
- Форум File size limit exceeded с файлами больше 2 Гб ??? (2005)
- Форум ring buffer (2012)