bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#24143: 25.1; Windows performace of process-send-string


From: Eli Zaretskii
Subject: bug#24143: 25.1; Windows performace of process-send-string
Date: Wed, 03 Aug 2016 19:37:42 +0300

> Date: Wed, 3 Aug 2016 12:28:51 +0000 (UTC)
> From: Bogdan Sirb <bogdans91@yahoo.com>
> 
> I noticed a performace issue with emacs 25.1 (built with MinGW on
> windows 10, but I used the one at
> https://sourceforge.net/projects/emacsbinw64/).
> 
> I created a small c++ program to read from stdin:
> 
> std::cin >> fileSizeStr;
> std::streamsize length = std::stoi(fileSizeStr);
> char *content = (char *)malloc(length);
> std::cin.read(content, length);
> 
> and sent data to it with the follogiwn emacs code :
> 
> ;; added this in the middle of a 162 kb file and eval'd it:
> (setq proc (start-process "Test" nil "./test.exe"))
> (process-send-string
> proc
> (format "%d\n%s\n" (point-max)
> (buffer-substring (point-min) (point-max))))
> 
> I used elp-instrument-function for process-send-string and I got this
> results (emacs 25.1 built by me vs emacs 24.5 found in msys2+mingw64
> repo, compiled with the same flags):
> 
> * emacs 25.1: 0.510064 seconds/call
> * emacs 24.5: 0.037496 seconds/call
> 
> And for a simple C program with fread(..., stdin) instead of std::cin
> 
> * emacs 25.1: 0.547136 seconds/call
> * emacs 24.5: 0.031285 seconds/call
> 
> In GNU Emacs 25.1.1 (x86_64-w64-mingw32)
> of 2016-08-01 built on CSIRB-DEV
> Windowing system distributor 'Microsoft Corp.', version 10.0.10586
> Configured using:
> 'configure --build=x86_64-w64-mingw32 --with-wide-int=yes
> --with-sound=yes --with-file-notification=yes --without-gpm
> --without-gconf --without-gsettings --without-selinux --with-modules
> 'CFLAGS=-march=native -mtune=native -pipe -O3 -fomit-frame-pointer
> -funroll-loops' 'CPPFLAGS=-mtune=native -march=native -DNDEBUG -isystem
> /mingw64/include' 'LDFLAGS=-s -Wl,-s''

The above says how Emacs 25.1 was built, but you didn't give the same
info about Emacs 24.5.  Could you please provide the same info for
that build?

Also, does it help to set w32-pipe-buffer-size in Emacs 25.1 to some
non-default value, like 30000?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]