Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XSLoader+delay load DLLs #11

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

bulk88
Copy link

@bulk88 bulk88 commented Jan 13, 2016

Some time savings in loading Win32.pm/Win32.dll, the module was dmake installed between tests.

BEFORE

C:\sources\win32>timeit -f t.dat perl -e"system('perl -MWin32 -e"0"') for 0..3
00"

Version Number: Windows NT 6.1 (Build 7601)
Exit Time: 10:45 pm, Tuesday, January 12 2016
Elapsed Time: 0:00:12.837
Process Time: 0:00:00.390
System Calls: 527642
Context Switches: 90291
Page Faults: 412956
Bytes Read: 39647078
Bytes Written: 1406213
Bytes Other: 1314035

C:\sources\win32>

AFTER delay load
C:\sources\win32>timeit -f t.dat perl -e"system('perl -MWin32 -e"0"') for 0..3
00"

Version Number: Windows NT 6.1 (Build 7601)
Exit Time: 10:37 pm, Tuesday, January 12 2016
Elapsed Time: 0:00:12.388
Process Time: 0:00:00.265
System Calls: 498354
Context Switches: 85755
Page Faults: 396541
Bytes Read: 39622468
Bytes Written: 0
Bytes Other: 1267236

C:\sources\win32>

AFTER XSLoader

C:\sources\win32>timeit -f t.dat perl -e"system('perl -MWin32 -e"0"') for 0..3
00"

Version Number: Windows NT 6.1 (Build 7601)
Exit Time: 10:38 pm, Tuesday, January 12 2016
Elapsed Time: 0:00:10.805
Process Time: 0:00:00.374
System Calls: 426147
Context Switches: 78001
Page Faults: 367246
Bytes Read: 33923778
Bytes Written: 61652
Bytes Other: 1060160

C:\sources\win32>

This will help improve perl core smoke times on VC. Most usage of Win32::
is through Cwd:: to get the CWD. PE version resource inspection and GUID
generation are very rare by comparison.
faster loading time, no Config.pm in the perl process
@bulk88
Copy link
Author

bulk88 commented Jun 20, 2018

Bump.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant